hibernate使用 自动建表

来源:互联网 发布:资金管理知乎 编辑:程序博客网 时间:2024/05/17 16:54

hibernate.cfg.xml配置文件内容如下,注意一点的是,当你想运行时就自动建表,而不用再到数据库用SQL来创建数据库的话,就要在<session-factory>标签内加入如下配置信息:

<property name="hbm2ddl.auto">create</property>

 

当hibernate与spring集成在一起,没有单独的hibernate.cfg.xml文件时,就要在spring配置文件里的sessionFactory标签里,配置如下信息:

<property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
        <prop key="hbm2ddl.auto">update</prop>

</props> 

</property> 

 

 

转:

首先介绍其中的一个属性hbm2ddl.auto,这个就是这个方案的核心属性,有四个值:create,create-drop,update,validate。它的含义如下:

<!-- 启动时删数据库中的表,然后创建,退出时不删除数据表
<property name="hbm2ddl.auto">create</property>
-->
<!-- 启动时删数据库中的表,然后创建,退出时自动删除所有表
<property name="hbm2ddl.auto">create-drop</property>
-->
<!-- 自动修改,如果表结构与实体类不一致,那么就修改表使它们一致,数据会保留
<property name="hbm2ddl.auto">update</property>
-->
<!-- 自动校验,如果表结构与实体类不一致,那么不做任何操作,报错
<property name="hbm2ddl.auto">validate</property>
-->

 

 

hibernate.cfg.xml代码

 

实体类Employee.java

 

DAO类:

 

 HibernateSessionFactory.java

 

由于使用到hibernate注解方式,所以这里在用到hibernate-annotations-3.3.0.jar和hibernate-commons-

annotations-3.0.0.jar包,还需要如下的包(具体的版本可以选择最新的):
asm-1.5.3.jar
cglib-2.1.3.jar
commons-collections-2.1.1.jar
commons-lang-2.1.jar
commons-logging-1.1.jar
dom4j-1.6.1.jar
hibernate3-3.2.5.jar
mysql-connector.jar

使用上面方式就可以构建简单的hibernate访问数据库了。