首页 文章

我怎么能用Hibernate做到这一点

提问于
浏览
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)

Bean名称是

Sample1BeanSample2Bean

我只希望数据来自Sample1,(field1,field2,field3) . 如何在没有HQL和Using Criteria类的情况下使用Hibernate来实现这一点?

2 回答

  • 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之间的关联 .

    OBS:

    • s1将有一个Sample1列表 .

    • "field1"应该是Sample2类型的Sample1中的属性 .

相关问题