任何人都可以将sql查询转换为休眠标准

时间:2016-01-08 06:58:00

标签: java sql hibernate

我有一个sql查询。任何人都可以转换为休眠标准吗?

SELECT TH_ID,TH_NAME FROM t_o2_th_master WHERE TH_ID IN(SELECT TH_ID FROM t_o2_user_gameplay WHERE USER_ID=10010 AND STATUS_TYPE_CODE_ID=1303)

这是字段名称的实体类:

SELECT treasureHuntId,treasureHuntName FROM TreasureHuntMasterEntity WHERE treasureHuntId IN(SELECT treasureHuntId FROM UserGamePlayEntity WHERE userId:userID AND statusTypeCodeId:statusTypeCodeID)

3 个答案:

答案 0 :(得分:0)

我们可以使用hibernate直接运行SQL查询。 Hibernate提供了两种不同类型的查询

  • HQL查询。我们可以做一切可能的SQL
  • 条件查询。我们已经根据对象定义了标准。

答案 1 :(得分:0)

变化

WHERE userId:userID

WHERE userId = :userID

答案 2 :(得分:0)

SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
session = sessionFactory.openSession();
Criteria criteria =session.createCriteria( t_o2_th_master.class );
criteria.createCriteria( "t_o2_user_gameplay", "user" );
criteria.add( Restrictions.eq( "user.userId", 10010 ) );
criteria.add( Restrictions.eq( "user.statusTypeId", 1303 ) );
t_o2_th_master masterList = criteria.list();
t_o2_th_master master=null;
if(masterList.size()>0){
    master=masterList.get(0);
}