hibernate自动建设表的设置
当前位置:以往代写 > JAVA 教程 >hibernate自动建设表的设置
2019-06-14

hibernate自动建设表的设置

hibernate自动建设表的设置

设置自动建设表:

<prop key="hibernate.hbm2ddl.auto">update</prop>//首次建设项目时用,项目不变后一般注释

这里有4个值:

update:暗示自动按照model工具来更新表布局,启动hibernate时会自动查抄数据库,假如缺少表,则自动建表;假如内外缺少列,则自动添加列。

尚有其他的参数: 

create:启动hibernate时,自动删除本来的表,新建所有的表,所以每次启动后的以前数据城市丢失。

create-drop:启动hibernate时,自动建设表,措施封锁时,自动把相应的表都删除。所以措施竣事时,表和数据也不会再存在。

validate :

每次加载hibernate时,验证建设数据库表布局,只会和数据库中的表举办较量,不会建设新表,可是会插入新值。

然后在设置  读取实体类映射:

有3种要领:

1、(常用)

通过注解扫描包的方法:

<property name="packagesToScan">

<list><value>com.systop.common.core.dao.testmodel</value></list>

2、

通过注解的方法:

<property name="annotatedClasses"> 

  <list><value>com.systop.common.core.dao.testmodel.TestDept</value></list> 

</property> 

3、

mappingResources用于指定少量的hibernate设置文件像这样

Xml代码

<property name="mappingResources"> 

     <list> 

   <value>WEB-INF/conf/hibernate/cat.hbm.</value> 

               <value>WEB-INF/conf/hibernate/dog.hbm.xml</value> 

               ……  

     </list> 

</property> 

实例:

<bean id="propertyConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>classpath*:/dataSource/jdbc.properties</value>
        </list>
    </property></bean><!-- 设置数据源 --><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
    <property name="driverClassName" value="${jdbcCcbs.driverClassName}"/>
    <property name="url" value="${jdbcCcbs.url}"/>
    <property name="username" value="${jdbcCcbs.username}"/>
    <property name="password" value="${jdbcCcbs.password}"/></bean><!-- 设置SessionFactory--><bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><!--<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">-->
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            <!--自动建设表设置-->
            <!--<prop key="hibernate.hbm2ddl.auto">update</prop>-->
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
            <!--功效转动集,跟分页有关-->
            <prop key="jdbc.use_scrollable_resultset">false</prop>
        </props>
    </property>
    <!--<property name="annotatedClasses">-->
        <!--<list>-->
            <!--<value>com.jason.entity.UserEntity</value>-->
        <!--</list>-->
    <!--</property>-->
    <property name="packagesToScan">
        <list>
            <value>com.jason.entity</value>
        </list>
    </property></bean>

    关键字:

在线提交作业