0

SQL查询如下,

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

表结构

  • 表 Sample1 只有三个字段( field1、field2、field3 )
  • 表 Sample2 具有三个字段( field4、field5、field6 )

豆名是

Sample1Bean,Sample2Bean

我只想要来自 Sample1 的数据(field1、field2、field3)。如何使用没有 HQL 的 Hibernate 和 Using Criteria 类来做到这一点?

4

2 回答 2

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

Hibernate 对不在表上的对象进行查询。所以 Sample1 和 Sample2 之间的关联应该是映射的。

观察:

  1. s1 将有一个 Sample1 的列表。
  2. “field1”应该是 Sample2 类型的 Sample1 中的一个属性。
于 2011-03-22T13:45:47.487 回答
0
  从 Sample1 s1、Sample2 s2 中选择 s1,其中 s1.field1 = s2.field2 AND s2.field2 = 'XXYYZZ'

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

于 2011-03-22T12:41:23.973 回答