2011-03-22 121 views
0

SQL查询如下,我怎么可以这样使用Hibernate

select s1.* 
from Sample1 s1,Sample2 s2 where 
s1.field1=s2.field4 and 
s2.field2='XXYYZZ' 

表结构

  • 表样本1只有三个字段(字段1,字段2,字段3)
  • 的表Sample2有三个字段(field4,field5,field6)

而豆的名字是

Sample1BeanSample2Bean

我只能从样本1想要的数据而已,(字段1,字段2,字段3)。我如何使用没有HQL和使用Criteria类的Hibernate来实现这一点?

+0

我的问题不清楚吗?这就是为什么我没有得到回应? – user617597 2011-03-22 13:05:04

回答

0
 
    SELECT s1 FROM Sample1 s1, Sample2 s2 WHERE s1.field1 = s2.field2 AND s2.field2 = 'XXYYZZ' 

它将返回Sample1类型的对象作为结果。

0
List s1 = session.createCriteria(Sample1.class) 
       .createCriteria("field1") 
       .add(Restrictions.eq("field2", "XXYYZZ")). 
       .list(); 

Hibernate对不在表上的对象进行查询。因此,Sample1和Sample2之间的关联应该被映射。

观测数据:

  1. S1将有样本1的列表。
  2. “field1”应该是Sample2类型的Sample1中的一个属性。
+0

我想你错过了这个条件 - 's1.field1 = s2.field4'。 – 2014-04-29 05:08:54

+0

不,Sample1和Sample2之间的关联应该映射...'s1.field1 = s2.field4'是连接条件,应该在映射配置:) – 2014-04-29 23:21:24

相关问题