2011-03-22 194 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

相關問題