2013-01-05 119 views
-1

我使用Hibernate和MySQL時,我的表完成映射,當我看着我的數據庫表創建成功,但他們沒有外鍵約束,但列創建。Hibernate沒有在MySQL上創建外鍵約束

當我嘗試在子表中插入記錄,並且當我將父表中不存在的id放在外鍵列中時,也將該行插入。

我的表引擎是innoDB。

如果我將方言更改爲MS-SQL,則使用外鍵約束創建表。

+0

他們的映射代碼是什麼? –

回答

1

對不起用戶,

我買了這其實我不是DBA給出了ALTER命令的權限問題。因此,這就是爲什麼當一個具有外鍵的表要創建第一個CREATE命令時,然後執行ALTER命令。

在我的情況下,CREATE命令執行成功,但ALTER命令不包括它的dnt有權限。

+0

我很努力地理解了幾天爲什麼一些單元測試在我的案例中起作用,並且在我的同事的情況下不起作用。原因是我根本沒有給予hibernate單元測試用戶正確的權利......並且它什麼也沒說,無法找出事情發生的原因。在添加權限後,現在測試對每個人都失敗了。 – XMight