2011-01-08 12 views
2

私はHibernate/GWTアプリケーションで多く使われるいくつかのプロパティを持つエンティティを持っています。ほとんどの場合、すべて正常に動作しますが、Hibernateはプロパティの1つをロードすることを拒否します。エンティティで正しく注釈が付けられているにもかかわらず、クエリには表示されません。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

メソッド名だと思います。 JavaBeans仕様に準拠し、hibernateによって取得されるには、isまたはgetで始まる必要があります。

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

「isSubSlot」はJava Beansの仕様では許容されると考えました。 – duffymo

+0

ハッ。 isSubSlotが "これはサブスロットですか?"と聞いているようですが、私はisSubSlotSupportedを使って試してみることにします。これは限界があります。 hasSubSlotSupportよりも悪いですが、うまくいけば動作します。先端に感謝します。 –

+0

もしあなたが好きなら、getHasSubSlotSupport()を使うこともできます。 –

関連する問題