hinernate进行mysql数据库的逆向工程无法生成主外键关系,Hinernate進行mysql數據庫的逆向工程無法生成主外鍵關係 | 學步園...

在使用MyEclipse和Hibernate进行逆向工程时遇到问题,无法生成一对一和一对多的主外键关系。经过排查发现,MySQL数据库使用的是不支持外键的MyISAM引擎。将引擎改为InnoDB后问题仍未解决,原来是MySQL安装包提供的数据库不支持InnoDB。改用InnoDB引擎可能会影响性能,特别是大量数据导入时。在更改数据库引擎后,别忘了更新已有表的数据引擎。
摘要由CSDN通过智能技术生成

在用myeclipse開發時,用hibernate的逆向工程時發現竟然無法生成one-to-one  one-to-many等的主外鍵關係,明明的數據庫建時已經有主外鍵關係了.為啥逆向生成時就不行了呢?

果斷搜索之,沒有非常直接的答案,但還是找到了蛛絲馬跡.”MyISAM數據庫引擎不支持事務處理也不支持外來鍵” 看到這句話有點眉目了.

查詢目前mysql的數據庫引擎

show engines;

果然還真是MyISAM引擎,果斷改為InnoDB類型

alter table 表名 type=InnoDB;

提示成功了.可仍然是不行.細看查出的數據庫引擎發現問題了.原來我的mysql根本就不支持InnoDB類型的數據庫引擎.

為什麼會不支持吶.mysql默認就是InnoDB類型的啊.事情的起因是這樣的:

以前為了測試一些php的程序方便就搞了個phpnow的一鍵安裝包,此包是綠色版的.所以一直感覺還挺好用的.而電腦上安裝的mysql讓我設置成手動啟動了.所以我一直以來使用的數據庫就成了phpnow里提供的數據庫了.

Innordb的功能要比myiasm強大很多,但是innordb的性能要比myisam差很多.這句話還真是不假

image_thumb.png

導入一個數據庫竟然花費了500多秒.

另外別忘了更改數據庫的數據引擎,因為這樣導入還是原來的數據引擎,需要手動改一下

alter table 表名 type=InnoDB;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值