2011-01-08 66 views
2

我有一個實體,它在我的Hibernate/GWT應用程序中被使用了很多。大多數情況下,一切正常,但Hibernate拒絕加載其中一個屬性。它不會出現在查詢中,儘管在實體中被正確註釋。爲什麼Hibernate不加載列?

實體的相關部分:

@Column(name="HasSubSlots") 
@Type(type="yes_no") 
public boolean hasSubSlotSupport() { 
    return hasSubSlotSupport; 
} 

而生成的SQL查詢:

Hibernate: 
    /* load entities.DeviceModel */ select 
     devicemode0_.DevModel as DevModel1_0_, 
     devicemode0_.InvModelName as InvModel2_1_0_ 
    from 
     DeviceModels devicemode0_ 
    where 
     devicemode0_.DevModel=? 

儘管我指的是財產,它從來沒有加載,懶洋洋地或沒有, getter總是返回false。關於如何深入研究這個問題的任何想法,或者可能出錯的地方?

回答

3

我認爲這是方法的名稱。它需要從isget開始,以符合JavaBeans規範,並通過休眠來提取。

@Column(name="HasSubSlots") 
@Type(type="yes_no") 
public boolean isSubSlotSupport() { 
    return hasSubSlotSupport; 
} 
+0

我認爲「isSubSlot」在Java Bean規範下是允許的。 – duffymo 2011-01-08 15:47:40