私はクラスの商品を持っています
<class name="Goods">
...
<map name="names" lazy="false" fetch="join">
<key not-null="true" />
<map-key column="LANGUAGE_CODE" type="language" length="2"/>
<composite-element class="Goods$Names">
<property name="name" not-null="true" type="text"/>
<property name="description" type="text"/>
</composite-element>
</map>
...
</class>
このような名前で商品を検索しようとすると、問題が発生します。
session.createQuery("select g from Goods g where g.names[:lang].name = 'Some goods name'")
javax.servlet.ServletException: java.lang.IllegalArgumentException: Cannot create element join for a collection of non-entities!
Hibernateでそうすることは本当に不可能ですか?
商品名を独自のIDを持つエンティティにする必要が本当にありますか?解決策はありますか?