私はプロバイダとして休止状態のjpa2によってマッピングされた〜10のクラスからなる小さなスキーマを持っています。すべてのクラスは同じ基本的な方法でビルドされています(@Id
と@GeneratedValue
のIDのクラスの@Entity
注釈)。すべてのクラスにはデフォルトのコンストラクタとデフォルトのgetter/setterがあります。JPA2でスキーマを作成する際に、1つのエンティティが無視されるのはなぜですか?
クラスのうちの1つを除くすべてが(関連付けまたは継承を介して)互いに関連しています。この1つのクラスは、スキーマ生成プロセス中にデータベースに作成されたデータベーステーブルを取得しません。
私はhbm2ddl.auto
で以下の設定を試してみた:
はを作成:すべてのテーブルが、1つが作成されます。最初にエンティティにアクセスすると、例外がスローされます。com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table '...' doesn't exist
(またはコードがOracle DBで実行されている場合は同等のオラクル)
:hibernateは、スキーマの検証中に不足しているテーブルについて不平を言っています。
更新:テーブルが作成されず、そのクラスのエンティティが初めてアクセスされたときにテーブルがスローされます(createと同様)。
誰もがこれについて考えていますか?
失敗したエンティティのソースコードを投稿できますか? – nfechner
Hibernate固有の設定、またはJPAの 'persistence.xml'形式を使用していますか?あなたの質問に設定を含めてください。 –