質問

Cayenne Entity Managerを使用して、データベースにオブジェクトを維持しようとしています。残念ながら、次のエラーが発生します。

org.apache.cayenne.CayenneRuntimeException: [v.3.0 Apr 26 2010 09:59:17] Commit Exception

Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'myDatabase.auto_pk_support' doesn't exist

この問題をどのように解決できるか考えてみませんか?ありがとう。

役に立ちましたか?

解決

エラーの場合、Cayenne Modelerから「デフォルト」「PK生成戦略」を選択しているように見えます(DBエンティテスをクリックして、そのオプションを使用してComoboxを表示します)。これは、Cayenneが、人口の「Auto_PK_Support」テーブルがスキーマに存在することを期待していることを意味します(プライマリキーを生成して追跡できるように)。

Cayenne Modelerは、このテーブル +コンテンツを生成できます。[ツール]メニュー「DB Schemaを生成」、正しい接続を選択し、次のダイアログから[PKサポートの作成]を選択する[PKサポート]を選択します。それを生成 - お気に入りのSQLツールにコピーして貼り付けるか、Cayenne Modelerを実行することができます。

MySQLを使用しているため、もちろん他のPK生成オプションもあります(上記はクラシック/デフォルトのものであり、任意のデータベースで動作しますが、追加のテーブルが必要です)。

コンサルティングをお勧めします Cayenne Modelerドキュメント, 、またはより良い カイエンのドキュメント全体 (非常に良いので)上記のすべてのアイテムはそこで非常によく説明されているので。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top