2010-10-11 42 views
0

嗨 是新的,冬眠讓我瘋狂的全職。 我hv 2表一對一映射。當我只加入這兩個這兩個然後休眠不映射,當我連接table1與其他table3然後它給我很好的映射結果。hibernate沒有映射bean,返回對象列表

Bean1

private int id ; 
private BlessUser blessUser ; 
private SnsAuthenticator snsAuth ; 
public void setSnsAuth(SnsAuthenticator snsAuth) { 
    snsAuth.setSnsUserId(getId()); 
    this.snsAuth = snsAuth; 
} 

HBM文件

<one-to-one name="snsAuth" class="com.utilami.model.SnsAuthenticator" property-ref="snsUserId" 
    cascade="all"></one-to-one> 

Bean2

private int id; 
private int snsUserId; 
private String key; 
private String value; 

HBM文件 正常HBM ...

執行LIK:

Session session = Utility.getSessionFactory().openSession(); 
    Query query = session.createQuery("from SnsUser su join su.snsAuth sa where su.blessUserId =1"); 
    List list = query.list(); 

此查詢工作提前細

String query = "from BlessUser bu join fetch bu.snsUser su where bu.id = su.blessUserId and bu." + "UserName" + " = " + "'qw'"; 

千恩萬謝。 thx

回答

0
from SnsUser su join fetch su.snsAuth sa where su.blessUserId = :id

關鍵字fetch丟失。