在 JPQL 中使用 UPDATE 和 JOIN
Using UPDATE and JOIN in JPQL
我要做一个基于时间线的项目(只是时间线的后台)。
所以我有两个实体:
- DateTL : ID, DAY, MONTH, YEAR
- Timeline : ID, TITLE, DESCRIPTION and DATETIMELINE
日期时间轴是:
@OneToMany
private List<DateTL> datetimeline
在我的数据库中,Netbeans 执行 3 tables:DateTL、Timeline 和 Timeline_DateTL(行 TIMELINE_ID 和 DATETIMELINE_ID)
现在我尝试将 table DATETL 中的日期附加到 TIMELINE。我试试 :
update Timeline_datetl SET timeline_id = :timeline_id, datetimeline_id = :datetimeline_id
但是我有一个错误(抽象模式类型 'Timeline_datetl' 未知。)
所以我试试 :
update Timeline t SET t.datetimeline = :datetimeline_id where exist (select d from DateTL)
但是不要太工作,我不知道放在哪里timeline_id
感谢您的帮助!
在 JPQL 中,您 select/update/delete 实体。连接 table 不能用作候选。如果您想更新联接的内容 table,那么您可以更新它通过对象表示的关系。
我要做一个基于时间线的项目(只是时间线的后台)。 所以我有两个实体:
- DateTL : ID, DAY, MONTH, YEAR
- Timeline : ID, TITLE, DESCRIPTION and DATETIMELINE
日期时间轴是:
@OneToMany
private List<DateTL> datetimeline
在我的数据库中,Netbeans 执行 3 tables:DateTL、Timeline 和 Timeline_DateTL(行 TIMELINE_ID 和 DATETIMELINE_ID)
现在我尝试将 table DATETL 中的日期附加到 TIMELINE。我试试 :
update Timeline_datetl SET timeline_id = :timeline_id, datetimeline_id = :datetimeline_id
但是我有一个错误(抽象模式类型 'Timeline_datetl' 未知。) 所以我试试 :
update Timeline t SET t.datetimeline = :datetimeline_id where exist (select d from DateTL)
但是不要太工作,我不知道放在哪里timeline_id
感谢您的帮助!
在 JPQL 中,您 select/update/delete 实体。连接 table 不能用作候选。如果您想更新联接的内容 table,那么您可以更新它通过对象表示的关系。