2010-06-02 115 views
2

我試圖使用Cayenne實體管理器將對象存入數據庫。不幸的是我得到以下錯誤:與Cayenne實體管理器問題

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 

任何想法我怎麼能解決這個問題?謝謝。

回答

4

在出現錯誤的情況下,在我看來,您可以從Cayenne Modeler中選擇「默認」「PK生成策略」(點擊您的數據庫實體以查看具有該選項的組合框)。這意味着Cayenne希望在您的模式中存在一個填充的「auto_pk_support」表(以便能夠生成並跟蹤主鍵)。你可以從Tools菜單中選擇「Generate DB Schema」,選擇正確的連接,然後從下一個對話框中只選擇複選框「Create PK Support」: - 你會看到生成它所需的SQL - 您可以將其複製並粘貼到您最喜歡的SQL工具中,或讓Cayenne Modeler運行它。

由於您使用MySQL,您當然也有其他PK生成選項(以上是經典/默認選項,適用於任何數據庫 - 但需要額外的表格)。

我建議諮詢Cayenne Modeler documentation或更好的entire cayenne documentation(因爲它非常好),因爲所有上述項目都很好地解釋了那裏。

+0

非常感謝。我的一些測試用例中遇到了問題。執行'mvn test'時我沒有收到任何錯誤信息。現在它可以工作。 – High6 2011-08-18 08:06:18