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
}

UserPostTracker

的复合 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 上。有没有办法通过 DetachedCriteriaSubQuery 传递当前行的 post.id

根据 Mark 的建议,我只是去写了一些普通的旧 SQL 查询。 如果在 Hibernate 中可以提供一些 OOB 机制用于涉及多对多映射实体并且程序员想要加入两个实体的情况,那将会非常好。