Java Hibernate:将当前行 ID 传递给子查询
Java Hibernate: Passing current row id to Subquery
我有两个对象
Post {
long id
String post
Date lastUpdate
}
Tracker {
User user
Post post
Date viewed
}
User
和 Post
是 Tracker
的复合 ID
在查询 Post
时,我想知道 User
是否阅读了 Post
上的最新更新
所以 SQL 应该看起来像这样:
select count(*) as y0_
from nb_post AS this_
where (other_conditions)
or this_.lastUpdate > (select t_.viewed as y0_ from nb_post_tracker t_ where t_.post=this_.post))
由于 other_conditions 部分,我的 Criteria
必须在 Post
上。有没有办法通过 DetachedCriteria
或 SubQuery
传递当前行的 post.id
?
根据 Mark 的建议,我只是去写了一些普通的旧 SQL 查询。
如果在 Hibernate 中可以提供一些 OOB 机制用于涉及多对多映射实体并且程序员想要加入两个实体的情况,那将会非常好。
我有两个对象
Post {
long id
String post
Date lastUpdate
}
Tracker {
User user
Post post
Date viewed
}
User
和 Post
是 Tracker
在查询 Post
时,我想知道 User
是否阅读了 Post
所以 SQL 应该看起来像这样:
select count(*) as y0_
from nb_post AS this_
where (other_conditions)
or this_.lastUpdate > (select t_.viewed as y0_ from nb_post_tracker t_ where t_.post=this_.post))
由于 other_conditions 部分,我的 Criteria
必须在 Post
上。有没有办法通过 DetachedCriteria
或 SubQuery
传递当前行的 post.id
?
根据 Mark 的建议,我只是去写了一些普通的旧 SQL 查询。 如果在 Hibernate 中可以提供一些 OOB 机制用于涉及多对多映射实体并且程序员想要加入两个实体的情况,那将会非常好。