Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SQL查询转换为Hibernate条件表达式_Sql_Hibernate_Criteria_Restriction - Fatal编程技术网

将SQL查询转换为Hibernate条件表达式

将SQL查询转换为Hibernate条件表达式,sql,hibernate,criteria,restriction,Sql,Hibernate,Criteria,Restriction,将此表达式转换为条件表达式时遇到问题: SELECT profile_profiles.profile_sup_id FROM profil INNER JOIN profile_profiles ON profile_profiles.profile_id = profil.id AND profil.id = 4 有人能帮忙吗 我有一张“Profil”多对多和refelxive表格 剖面1---剖面图\剖面图---剖面图2 公共类Profil实现可序列化{ 私有

将此表达式转换为条件表达式时遇到问题:

SELECT profile_profiles.profile_sup_id 
  FROM profil
  INNER JOIN profile_profiles ON profile_profiles.profile_id = profil.id 
        AND profil.id = 4
有人能帮忙吗

我有一张“Profil”多对多和refelxive表格

剖面1---剖面图\剖面图---剖面图2

公共类Profil实现可序列化{
私有静态最终长serialVersionUID=1L;
私人长id;
私串诽谤;
私有集配置文件=新哈希集(0);
...
}
hbm


当然,上面的操作应该从连接表到概要文件表进行额外的连接,但是它应该返回与SQL查询相同的结果


这样,上面的操作应该从连接表到配置文件表进行额外的连接,但它应该返回与SQL查询相同的结果。

非常感谢@JB Nizet

我昨天确实找到了解决办法:

hibernateCriteria.createCriteria("profil").createAlias("profiles", "ps").add( Restrictions.eq("ps.id",superieurCriteria.getProfilId()) ) ;

和平。

非常感谢@JB Nizet

我昨天确实找到了解决办法:

hibernateCriteria.createCriteria("profil").createAlias("profiles", "ps").add( Restrictions.eq("ps.id",superieurCriteria.getProfilId()) ) ;

和平。

是一对多还是多对多的关系?您是否在hibernate配置中设置了这两个类之间的关联?如果你不相信,我不相信你想要的是可能的。那么你可以参考JB Nizet的答案,我想写完全相同的东西:)这是一对多还是多对多的关系?您是否在hibernate配置中设置了这两个类之间的关联?如果你不相信,我不相信你想要的是可能的。那么你可以参考JB Nizet的答案,我想写完全相同的东西:)
Criteria c = session.createCriteria(Profil.class, "profil");
c.createAlias("profil.profiles", "supProfil");
c.add(Restrictions.eq("profil.id", 4);
c.setProjection(Projections.property("supProfil.id"));
hibernateCriteria.createCriteria("profil").createAlias("profiles", "ps").add( Restrictions.eq("ps.id",superieurCriteria.getProfilId()) ) ;