Hibernate 自动生成 表结构的坑

Hibernate 经过配置,可以自动生成表结构,非常方便。

但在过程中,我遇到了几个坑。

不能生成外键的问题

标注了 @ManyToOne + @JoinColumn,但生成的表却不带 Foreign Key! 真是奇怪
后来发现,是 Hibernate 用的 MySQL 的 Dialect 问题。要用 MySQL 5.5 以上的 InnoDBDialect 也管用

换了 Dialect,立即就能生成外键约束了。

与保留字冲突,不能生成某个具体的表

我有一个类,名字叫 Ip,但系统就是不能生成名为 Ip 的表。
我以为是 Ip 与 MySQL 里面的保留字冲突了,于是就把 Ip 换成 Ip888 结果还是不行。

百思不得其解。后来发现 Ip 里面有一个属性,叫做 Add 就是地址的意思,与 MySQL 的保留字冲突了。
改成 address 就好了。

折腾了一天,郁闷。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章