hibernate.hbm2ddl.auto属性使用create创建表,但不使用update创建表

时间:2018-10-16 05:14:28

标签: hibernate hbm2ddl

<property name="hbm2ddl.auto">update</property>设置不会自动创建数据库表。

它适用于<property name="hbm2ddl.auto">create</property>

配置:

<?xml version="1.0" encoding="UTF-8"?>

<bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
        value="com.mysql.cj.jdbc.Driver"></property>
    <property name="url"
        value="jdbc:mysql://localhost:3306/StrutsPractice"></property>
    <property name="username" value="root"></property>
    <property name="password" value="root"></property>
</bean>

<bean id="mysessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>

    <property name="mappingResources">
        <list>
            <value>com/hbm/person.hbm.xml</value>
        </list>
    </property>


    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
</bean>

<bean id="d" class="com.DAO.PersonDAO">
    <property name="sf" ref="mysessionFactory"></property>
</bean>

如果表在数据库中不存在,则应自动创建。

1 个答案:

答案 0 :(得分:1)

hbm2ddl.auto的可能值及其描述如下:

create-创建架构

update-更新现有架构

validate-验证现有架构

create-drop-在会话开始和结束时自动创建和删除模式