摘要:默認(rèn)創(chuàng)表引擎為首先創(chuàng)建一個(gè)工程編寫(xiě)一個(gè)實(shí)體類數(shù)據(jù)庫(kù)生成了對(duì)應(yīng)的表通過(guò)命令查看創(chuàng)表語(yǔ)句默認(rèn)引擎為修改數(shù)據(jù)庫(kù)引擎為過(guò)時(shí)的方法通過(guò)配置文件添加如下配置通過(guò)查看源代碼發(fā)現(xiàn)起繼承了類并重寫(xiě)了方法該方法了一個(gè)的實(shí)例從名字上就能看出端倪源碼中建議的方法
默認(rèn)創(chuàng)表引擎為MyISAM
首先創(chuàng)建一個(gè)springboot 工程, 編寫(xiě)一個(gè)實(shí)體類
@Data @Entity public class Employee { @Id private Integer id; private String name; private Long salary; public Employee() { } public Employee(Integer id) { this.id = id; } }
數(shù)據(jù)庫(kù)生成了對(duì)應(yīng)的employee表, 通過(guò)show create命令查看創(chuàng)表語(yǔ)句
默認(rèn)引擎為MyISAM
通過(guò)配置文件, 添加如下配置
spring: jpa: database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
通過(guò)查看MySQL5InnoDBDialect源代碼發(fā)現(xiàn)起繼承了MySQL5Dialect類并重寫(xiě)了getDefaultMySQLStorageEngine()方法
@Override protected MySQLStorageEngine getDefaultMySQLStorageEngine() { return InnoDBStorageEngine.INSTANCE; }
該方法了一個(gè)InnoDBStorageEngine的實(shí)例, 從名字上就能看出端倪.
源碼中建議的方法但是
MySQL5InnoDBDialect這個(gè)類已經(jīng)過(guò)時(shí)了, 從該類的源代碼注釋中可以看到這么一句注釋
Use "hibernate.dialect.storage_engine=innodb" environment variable or JVM system property instead.
但是我設(shè)置了之后卻并沒(méi)有生效, 有成功的朋友可以告訴我一下方法!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/76595.html
摘要:關(guān)系映射四種映射關(guān)系在關(guān)系數(shù)據(jù)庫(kù)中有表與表存在下面幾種關(guān)系多對(duì)一關(guān)系一對(duì)一關(guān)系一對(duì)多關(guān)系多對(duì)多關(guān)系也對(duì)應(yīng)這中四種映射關(guān)系單值串聯(lián)從一個(gè)實(shí)體實(shí)例關(guān)聯(lián)到另一個(gè)實(shí)體實(shí)例上其中目標(biāo)基數(shù)為成為單值關(guān)聯(lián)多對(duì)一關(guān)系和一對(duì)一關(guān)系都是屬于這 JPA關(guān)系映射 四種映射關(guān)系 在關(guān)系數(shù)據(jù)庫(kù)中, 有表與表存在下面幾種關(guān)系 多對(duì)一關(guān)系(Many-to-One) 一對(duì)一關(guān)系(One-to-One) 一對(duì)多關(guān)系(O...
摘要:想在部署的時(shí)候隨應(yīng)用的啟動(dòng)而初始化數(shù)據(jù)腳本,這不就是中的自動(dòng)生成表結(jié)構(gòu),聽(tīng)起來(lái)特別簡(jiǎn)單,不就是配置的嘛,有什么好說(shuō)的,是個(gè)人都知道。 想在部署的時(shí)候隨應(yīng)用的啟動(dòng)而初始化數(shù)據(jù)腳本,這不就是Spring Data Jpa中的自動(dòng)生成表結(jié)構(gòu),聽(tīng)起來(lái)特別簡(jiǎn)單,不就是配置Hibernate的ddl-auto嘛,有什么好說(shuō)的,是個(gè)人都知道。當(dāng)初我也是這樣認(rèn)為,實(shí)際操作了一把,雖然表是創(chuàng)建成功了,但...
摘要:我將舉幾個(gè)栗子,來(lái)詳細(xì)的說(shuō)一下我自己在使用多表復(fù)雜查詢的場(chǎng)景和想法。名字手機(jī)號(hào)這是一個(gè)單表的多條件復(fù)雜查詢,由于是在幾個(gè)屬性中進(jìn)行篩選,其中的屬性的個(gè)數(shù)不知道有多少個(gè),所以只需要利用查詢就可以很方便的實(shí)現(xiàn)這個(gè)需求。 最近工作中由于要求只能用hibernate+jpa 與數(shù)據(jù)庫(kù)進(jìn)行交互,在簡(jiǎn)單查詢中,jpa繼承CrudRepository接口 ,然后利用jpa的方法命名規(guī)范進(jìn)行jpql查...
摘要:的配置后在其他低版本的中也有使用這種配置的,具體根據(jù)版本而定。等注解是的相關(guān)知識(shí),后面的文章將詳細(xì)講述。 ??在我們的實(shí)際開(kāi)發(fā)的過(guò)程中,無(wú)論多復(fù)雜的業(yè)務(wù)邏輯到達(dá)持久層都回歸到了增刪改查的基本操作,可能會(huì)存在關(guān)聯(lián)多張表的復(fù)雜sql,但是對(duì)于單表的增刪改查也是不可避免的,大多數(shù)開(kāi)發(fā)人員對(duì)于這個(gè)簡(jiǎn)單而繁瑣的操作都比較煩惱。 ??為了解決這種大量枯燥的簡(jiǎn)單數(shù)據(jù)庫(kù)操作,大致的解決該問(wèn)題的有三種方...
閱讀 2979·2021-10-19 10:09
閱讀 3194·2021-10-09 09:41
閱讀 3460·2021-09-26 09:47
閱讀 2786·2019-08-30 15:56
閱讀 652·2019-08-29 17:04
閱讀 1043·2019-08-26 11:58
閱讀 2567·2019-08-26 11:51
閱讀 3431·2019-08-26 11:29