1. 程式人生 > >關於 Hibernate 5.1.x 無法自動建立表問題

關於 Hibernate 5.1.x 無法自動建立表問題

最近遇到了一個問題。在學習使用 Hibernate 5.1.x 版本中, hbm2ddl.auto -> update 無法建立新表,用 JUnit 單元測試報錯,表不存在。

排查過程中發現如下

INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.[email protected]3276732] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode.
Hibernate: 
    
    create table NEWS (
        ID integer not null auto_increment,
        TITLE varchar(255),
        AUTHOR varchar(255),
        DATE date,
        primary key (ID)
    ) type=InnoDB
關鍵這個 type=InnoDB 不對

百度一段時間後發現原來在 hibernate.cfg.xml 配置檔案中:

<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
配置錯誤,應該配置為:
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

修改配置後可正常執行通過。

經過詳細查閱後發現,原來在文件中已經說明。

hibernate-release-5.1.10.Final/documentation/javadocs/org/hibernate/dialect/MySQL5InnoDBDialect.html



相關推薦

關於 Hibernate 5.1.x 無法自動建立問題

最近遇到了一個問題。在學習使用 Hibernate 5.1.x 版本中, hbm2ddl.auto -> update 無法建立新表,用 JUnit 單元測試報錯,表不存在。 排查過程中發現如下 INFO: HHH10001501: Connection obtai

hibernate auto=update 還是無法自動建立的原因

是因為這個屬性的配置:對映目錄要比實際少一層! <property name="packagesToScan"> <list><!-- 注意:配置對映目錄要比實際少一層

Spring 整合hibernate 無法自動建立,控制檯沒有報錯

症狀 Spring 整合hibernate 無法自動建立表,控制檯沒有報錯 百度了幾天了 主要有一下幾個原因 1、  注意name="hibernate.dialect" 而不能是name="dialect"     &n

使用Spring整合Hibernate出現無法自動建立的問題

在使用Spring整合Hibernate時,出現一個莫名其妙的問題,Spring整合Hibernate出現無法自動建立表,花了好幾個小時也沒有查詢是怎麼回事。具體如下: 1、在Hibernate配置檔

hibernate 使用mysql6.0 無法自動的解決辦法

一句話,用的是mysql 的msi的安裝版 64 bit   大約 40來M 反正就是用盡了各種辦法,包括重啟myeclipse, 重新部署。 重啟電腦。 就是不行。 還是用了 mysql的5.7 大約200多M 安裝包,終於將問題解決。

Hibernate無法自動建立資料庫

今天在學習Hibernate的時候,通過JavaBean實體類和hbm對映檔案自動建立資料庫表,實體類和物件關係對映檔案寫的都沒有錯誤,執行時也不報錯,但是就是沒生成資料庫表,查了半天才發現是因為 hibernate.cfg.xml檔案中缺少了一個自動建立資料庫表的語句:

1. Hibernate通過實體類與hbm建立

Hibernate通過實體類與hbm.xml建立表 開始嘗試了很多次,都沒能成功建立表,問題在於 <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property&

使用SSH Hibernate自動建立的問題:Could not parse mapping document from input stream

在我們開始學習Hibernate的時候,我們找到Hibernate可以幫助我們自動建立資料庫表,但前提是我們必須配置這個屬性:<property name="hbm2ddl.auto">u

Hibernate學習筆記(一)之——根據配置檔案自動建立的兩種方式(註解方式和配置檔案方式)

環境準備:jdk  eclipse   hibernate、mysql jar包 專案截圖: Student是根據配置檔案建立表,Teacher是根據註解建立表 Student.java package com.java1234.model; publi

hibernate無法自動的原因

假如啟動hibernate,並且資料庫已經建好; 假如啟動的時候報錯,專案啟動失敗,大多數情況是不能自動建表,可以根據報錯資訊,解決問題; 這裡我要說的是另外一種情況,假如專案啟動沒有報錯,一切正常,但是資料庫依然沒有自動建表,這裡很有可能的原因是資料庫驅動版本過低的原因; 大家可以把搞個新點的資料庫驅動版

hibernate.hbm2ddl.auto為update無法自動

mysql5之前hibernate.dialect為org.hibernate.dialect.MySQLInnoDBDialect。 mysql5之後為org.hibernate.dialect.My

A.CTable開源框架Mybatis增強自動建立/更新結構/實現類似hibernate共通的增刪改查

mybatis-enhance-actable-0.0.1 不用再為mybatis無法自動建立表,不提供基本的增刪改查而苦惱啦!有了A.CTable這將不再成為你苦惱的理由,而且學習簡單,只要進行簡單的配置,然後稍微看下原始碼註解就可以上手了,A.CTable

Hibernate自動建立

Hibernate支援自動建表,在開發階段很方便,可以保證hbm與資料庫表結構的自動同步。 一、通過Hibernate的ShemaExport來建立 1)實體類 package com.xiaomo.vo; public class User {private in

使用Spring整合Hibernate配置,根據實體類自動建立

<?xml version="1.0" encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan

第7講 .資料庫自動建立SpringBoot

1. 新增jar包,     新增jpa 的支援,mysql的支援,   2. 建立資料庫,     資料庫名為為:db_book       

ThinkPHP 5.1.x SQL注入漏洞分析

一、背景引見 ThinkPHP 是一個疾速、複雜的基於 MVC 和麵向物件的輕量級 PHP 開發框架,遵照 Apache2 開源協議釋出。ThinkPHP從降生以來不斷秉承簡潔適用的設計準繩,在堅持出色的功能和至簡的程式碼的同時,也注重開發體驗和易用性,為 WEB 使用和 API 開發提供了強無

CAS 5.1.x版本代理模式實現

一、什麼是CAS的代理認證   在我們的專案中,有這樣一個場景:有兩個服務holiday(節假日服務)和mainWeb(整合服務),這兩個服務都集成了CAS,所有的請求都要經過CAS Server的認證。由於mainWeb內部會去呼叫holiday的服務,但是

CAS 5.1.X版本自定義jdbc驗證

一、前言 在不同的專案中,可能由於業務需求或者架構方式的不同,對於使用者登入的驗證方式也不同。CAS為我們提供了很多的認證模式,其中最常見的認證方式有: JDBC認證,可以通過配置,也可以重寫cas相關方法進行自定義認證 LDAP認證 Basic認證 Sh

ThinkPHP(5.1.x ~ 5.1.31 5.0.x ~ 5.0.23)GetShell漏洞

  12月9日,thinkPHP5.*釋出了安全更新,這次更新修復了一處嚴重級別的漏洞,該漏洞可導致(php/系統)程式碼執行,由於框架對控制器名沒有進行足夠的檢測會導致在沒有開啟強制路由的情況下可能的getshell漏洞。   此前沒有研究過thinkPHP框架,這次借這個漏洞學習一下。 #0x01&n

IntelliJ IDEA自動建立時多了一張hibernate_sequence的問題

自動建立表時,發現數據庫裡多了hibernate_sequence表,可能還會有hibernate_sequences表 資料庫用的是mysql,編譯器是IDEA,用的springboot框架 原因是: Java類中@GeneratedValue(strateg