【发布时间】:2016-04-21 07:24:48
【问题描述】:
假设我在 Java 中有三个实体:实体 A、实体 B 和实体 C。实体 A 将实体 B 作为字段,而实体 B 将实体 C 作为字段。现在在我的 DAO 类中,我得到了一个实体 C 的对象。使用 Hibernate HQL 查询,是否可以更新数据库中具有实体 B 的实体 A 的所有实例,而实体 B 的实体 C 字段又等于实体 C 的对象。具体而言,我设想如下所示。下面的查询可以吗?请注意,我正在使用 ids 来检查是否相等
C c = new C();
c.setId(someId);
Query query = session.createQuery("update A set someField = true where b.c=:c");
query.setEntity("c", c);
query.executeUpdate();
【问题讨论】:
-
查询中可以使用join吗?
-
您的具体解决方案是什么样的?