2011-01-07 6 views
4

私はSpringとHibernateを使用していますが、最近私はカスタムIdジェネレータを作成しました。今、私は私のJavaドメインオブジェクト上:Springのコンテキストでカスタムhibernate idジェネレータを設定する

@GenericGenerator(name="...", strategy="com.acme.MyIdGenerator", ...) 

私は私の春のコンテキストでcom.acme.MyIdGeneratorを設定し、何とかHibernateはHibernateが、それをインスタンス化したのではなく、それを使用する必要があり/作成できますか?

答えて

2

コンシューマクラス(またはクラス)からジェネレータを分離しようとしているだけの場合、ジェネレータはpackage-info.javaクラスで定義できます。 this example in the test suiteを参照してください。

実際にXMLでマップしたいのであれば、その特定のエンティティをhbm.xml(as seen here)としてマップし、それをSpringコンテキストのHibernateコンフィグレーションに追加する必要があります。

+0

うわー、私はあなたがpackage-info.javaに注釈を付けることができるか分からなかった。クール(+1) –

+0

私は現在hbm.xmlを持っていません。すべてがアノテーションベースです。私はこれを行うためにhbm.xmlを作成しなければならないと言っていますか?今は私が使っていないときでさえ? – codecraig

+0

@codecraig私が言ったように、アノテーションアプローチを使うことができます。また、実際にXMLとして追加する必要がある場合は、hbm.xmlファイルを作成する必要があります。あなたはHibernate(マッピングではなく、AFAIK)を設定するだけです。 – jpkrohling

関連する問題