0

このドキュメント@CollectioTableでは、使用法のアノテーションの例を見ることができます

私は同じコードを書きました

@Entity public class Person {
       @ElementCollection
       @CollectionTable(name="HOMES", joinColumns = @Column(name = "PERSON_ID"))  
       @Column(name="HOME_STATE")
       protected List<String> vacationHomes;
       ...
    }  

UsinfHibernate -jpa-2バージョン1.0.0。最終版

JBoss4.3.0.GAにデプロイします

そして、(デプロイ中に)例外を取得します。column HOME_STATE cann't be mapped on java.util.List

だから私はListをArrayListに変更します

その後、アプリケーションは適切にデプロイされました。
しかし、うまくいきません!単純なクエリを実行しましたが、アノテーション@ElementCollection@CollectionTable 無視されました!@Column注釈のみを機能させる

古いJBossバージョンで問題が発生する可能性がありますか?
どこに問題があるのか​​わかりません...

4

1 に答える 1

3

JPA2.0の一部である機能が機能していません。これは、実装が欠落しているためです。この場合、新しいアノテーションのみが存在し、処理は行われません(hibernate-jpa-2.0-api-1.0.0.FinalはJPA 2.0インターフェースのみであり、実装ではありません)。

リリースノートによると、JBoss4.3.0.GAはJPA2.0の実装ではないHibernate3.2.1とともに出荷されました。

この質問からわかるように、JBoss5でもそれを機能させることは不可能です。少なくともJBoss6.xに更新できない場合は、JPA1を使用する方が簡単です。

于 2012-04-28T12:42:11.417 に答える