【问题标题】:Using UPDATE and JOIN in JPQL在 JPQL 中使用 UPDATE 和 JOIN
【发布时间】:2015-12-30 18:50:16
【问题描述】:

我必须根据时间线(​​只是时间线的后台)做一个项目。 所以我有两个实体:

 - DateTL : ID, DAY, MONTH, YEAR
 - Timeline : ID, TITLE, DESCRIPTION and DATETIMELINE 

日期时间线是:

 @OneToMany
 private List<DateTL> datetimeline

在我的数据库中,Netbeans 做了 3 个表:DateTLTimelineTimeline_DateTL(带有 TIMELINE_ID 和 DATETIMELINE_ID 行)

现在我尝试将 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放在哪里

感谢您的帮助!

【问题讨论】:

  • Timeline_datetlentity 的名称是什么?附言合并对象比编写自己的更新语句更容易
  • 它只是一个由 Netbeans 自动创建的表。我没有 Timeline_datetl 的实体,这是我的问题,因为我不知道如何更新此表。

标签: jpa jpql


【解决方案1】:

在 JPQL 中,您选择/更新/删除实体。连接表不能用作候选。如果您想更新连接表的内容,那么您可以更新它通过对象表示的关系。

【讨论】:

  • 那么如何更新我的表格 Timeline_dateTL ?通过时间轴?
  • 我已经说过,通过形成关系的实体的对象。不是通过批量“更新”查询(这不是批量更新的目的)。
猜你喜欢
  • 2014-09-16
  • 2017-11-19
  • 2020-09-13
  • 1970-01-01
  • 2021-10-08
  • 2018-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多