2014-01-10 155 views
0

这里我正在创建一个hibernate查询。查询是为表格选择一些ID,因为我想添加具有不等于和等于条件的条件。给定查询总是返回唯一值。 如何在冬眠中构建查询使用标准休眠用critera选择查询

ID | st_name作为| EDU_ID

1 STD E1 

2 STU E1 

3 STD E2 

4 STV E2 


select ID from Table where EDU_ID = E1 and ST_NAME <>STD; 

我该如何在冬眠状态下进行查询? 我想要的结果是

回答

1

首先,您需要创建实体学生。然后,你可以使用实体标准的API来得到想要的结果

Criteria criteria = session.createCriteria(Student.class); 
criteria.add(Restrictions.eq("eduId", "E1"); 
criteria.add(Restrictions.ne("name", "STD"); 
Student result = criteria.uniqueResult(); 
1

随着HQL:查询看起来是这样的:

select s.id from Student s where s.name!=? and s.edu=? 

你要通过学生埃杜作为参数。如果你使用Criteria API,Pratik的答案看起来不错。

+0

从表,其中ug.testID =选择s.ID:testID和checkID = checkID它不工作properly.couldüPLZ与我的查询检查 –

1

我终于得到了结果。它与不等于完美的工作,以检查

select stuID from Table T where T.eduID =:eduID and stuName !=:stuName