zoukankan      html  css  js  c++  java
  • hibernate自动建表之engine设置

    1.MYSQL的数据库引擎中,只有InnoDB和BDB(Berkley DB )包括了对事务处理和外键的支持。如果数据引擎建为MyISAM则rollback无效。

    2.而hibernate自动建表的时候语句如下

    Hibernate: 
        
        create table USER (
           id integer not null auto_increment,
            name varchar(255),
            password varchar(255),
            primary key (id)
        ) engine=MyISAM
    

     即engine为myisam模式.此模式并不支持事务处理和外键约束.

    3.解决方案

    设置dialect属性 

          注:hibernate5.0之后一定要在MySQL和InnoDBDialect中间加一个 5

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

     此时运行后台回显的建表语句为:

    Hibernate: 
        
        create table USER (
           id integer not null auto_increment,
            name varchar(255),
            password varchar(255),
            primary key (id)
        ) engine=InnoDB
    

     即engine为InnoDB模式.此模式支持事务处理和外键约束.

    注:  具体innodb和MYISAM的区别请查看:http://blog.csdn.net/xifeijian/article/details/20316775

       数据库方言:http://blog.csdn.net/jialinqiang/article/details/8679171

  • 相关阅读:
    基于TensorRT的BERT实时自然语言理解(下)
    基于TensorRT的BERT实时自然语言理解(上)
    lsof
    kata-runtime spec
    kata 虚拟机
    json + jq命令
    kata-runtime run mycontainer
    kata-runtime来运行容器
    docker + docker-runc
    kata container在aarch64上成功运行
  • 原文地址:https://www.cnblogs.com/ssjifm/p/7506723.html
Copyright © 2011-2022 走看看