hibernate5的一些坑

來源:互聯網
上載者:User

標籤:亂碼   innodb   set   修改   就會   mysq   .com   串連資料庫   設定   

SessionFactory建立的修改

  如果你是剛剛從hibernate4升級到hibernate5,這時候你的項目肯定就要出錯了,什麼錯呢?

  org.hibernate.MappingException: Unknown entity: xx類

  這是因為SessionFactory建立方式變了

  hibernate4

Configuration conf = new Configuration().configure();ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().    applySettings(conf.getProperties()).build();SessionFactory sessionFactory = conf.buildSessionFactory(serviceRegistry);

  hibernate5

StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure().build();Metadata metadata = new MetadataSources(standardRegistry).getMetadataBuilder() .applyImplicitNamingStrategy(ImplicitNamingStrategyComponentPathImpl.INSTANCE).build();SessionFactory sessionFactory = metadata.getSessionFactoryBuilder().build();

 

hibernate5串連資料庫出錯

  錯誤提示

  MySQL server version for the right syntax to use near ‘type=InnoDB‘ at line x

  這個主要是hibernate方言設定出問題了

  修改hibernate.cfg.xml中的dialect,如下

  <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

 

hibernate串連資料庫出現亂碼或者出現SSL警告

  解決方案如下:

  <property name="connection.url">jdbc:mysql:///maven?characterEncoding=UTF8&amp;userSSL=false</property>

 

maven項目中使用hibernate出錯

  出錯提示

  org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found

  原因

  原來對於Maven工程,編譯的工作是由Maven程式來完成的,而Maven預設只會把src/main/resources檔案夾下的檔案拷貝到target/classes檔案夾下,所以中用紅框框起來的.hbm.xml都不會被複製到/target/calsses檔案夾下,所以Hibernate架構在啟動並執行時候,就會報找不到*.hbm.xml的錯誤。

  解決辦法

  在pom.xml下添加以下代碼

<build>    <resources>        <resource>            <directory>src/main/java</directory>            <includes>                <include>**/*.xml</include>            </includes>            <filtering>true</filtering>        </resource>        <resource>            <directory>src/main/resources</directory>            <includes>                <include>**/*.xml</include>                <include>**/*.properties</include>            </includes>        </resource>    </resources></build>

 

hibernate5的一些坑

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.