新しいWebプロジェクトを開始し、永続性ORMエンジンとしてJPAを選択しました。
前回のプロジェクトではOpenJPAを使用していましたが、今はEclipseLinkを使用したいと思います。
どうして?これはJPAリファレンス実装であり、多くのドキュメントがあり、EclipseIDEで非常に優れたサポートがあります。また、どれも最高であると宣言しているベンチマークが見つからないため、パフォーマンスは要因ではありません(すべての実装には独自の長所があります)。
しかし、JSR-303検証仕様を使用したいので、hibernate-validatorを選択しました(witchはBean Validation仕様のリファレンス実装です)。
さらに、私はSpringを使用しており、Spring + Hibernateの例はたくさんありますが、Hibernateの方がSpringの方が優れているという意見は見つかりませんでした。
この2つの実装を組み合わせることに問題はありますか? HibernateBean検証でHibernateJPAを使用する方が良いでしょうか?
SpringとHibernate-validation-4.2.0.Final
でJPAのEclipseLink
実装を使用しています。そして今のところ問題ありません。今あなたの質問に答えるために:
この2つの実装を組み合わせることに問題はありますか?
これら2つの仕様の目的が異なるため、JSR-303検証仕様のEclipseLink
実装とHibernate
実装を一緒に使用しても問題はないと思います。
Springは、JSR-303 Bean ValidationAPIを完全にサポートしています。 Hibernate ValidatorなどのJSR-303プロバイダーがクラスパスに存在する必要があり、自動的に検出されます。
また、org.springframework.orm.jpa
パッケージで利用可能なSpringJPAは、Hibernate
との統合と同様の方法で、Java Persistence API
の包括的なサポートを提供します。