私は、既存のMysqlデータベースからJPA/Hibernateを使用して新しいPlayアプリケーションを作成しようとしています。既に存在するデータベースからHibernateを正しく実装するには?
hibernate.hbm2ddl.auto
が "更新"に設定されています。
テーブルの投稿には6つのエントリがあります。 問題が"SELECT p FROM Posts p"
のようなHQLステートメントを実行すると、空の結果が得られますが、"SELECT * FROM posts"
のようなネイティブクエリを実行すると、既存のエントリが取得されます。
私はここで何か巨大なものを逃していると思います。これは、この空の結果を説明できるようなものがありますか? Hibernateは、既存のデータベースからHQLステートメントで正しい結果を返すために、特定のキャッシュを構築する必要がありますか?なぜそんなことが必要なのだろう?
既存のデータベースの場合は、自動DDLを使用しないでください。既存のデータベーススキーマにきれいにマップするエンティティを作成するようにしてください。おそらくテーブル名のようなものと不一致があります(通常、クラス名は 'Post'でなければなりません)。 – chrylis
ありがとう、あなたは私に方法を示した、それは実際にいくつかのフィールドでマッピングの問題だった、それは奇妙です、アプリケーションが実行可能な場合は、休止状態が彼のマッピングチェックを渡していない場合。 – Aphax