Hibernate之配置信息

2019-09-29  本文已影响0人  紫荆秋雪_文

一、hibernate.cfg.xml

根据对象和映射文件,在创建SessioFactory的时候,可以生成对应的数据表

hibernate.hbm2ddl.auto=create:删除并创建表
hibernate.hbm2ddl.auto=update:更新表结构
hibernate.hbm2ddl.auto=validate:验证表结构,如果表结构和映射文件不匹配,Hibernate启动失败

1、*.hbm.xml文件常见映射细节

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.revanwang._01.crud.domain">

    <class name="User" table="t_user">
        <id name="id" column="id">
            <generator class="native"></generator>
        </id>

        <property name="name" column="name"/>
        <property name="date" column="date"/>
    </class>

</hibernate-mapping>
使用字段来关联表字段
<property name="bornDate" access="field"/>
<hibernate-mapping auto-import="false">
<!-- 自己为类起别名 -->
<import class="com._520it.day1._03_config.Person" rename="Person2"/>

二、OID生成策略

主键(Primary Key:PK):在数据库表中能够唯一识别每一行记录的一个字段或者多个字段的组合

自然主键:主键具有业务含义,比如省份证号码、手机号码,需要手动输入

代理主键:主键没有业务含义,仅仅起唯一标识,一般由数据控服务器自动生成(推荐)

单字段主键:在一张表中使用某一列作为主键(推荐)

复合主键:在一张表中使用多列一起联合作为主键

三、代理主键生成方式

1、uuid:使用uuid作为主键值,必须要求OID类型是String

2、increment

3、identity

4、sequence

<generator class="sequence">
    <param name="sequence">IDDOMAIN_SEQ</param>
</generator>

5、native:使用数据库本地的主键生成策略

6、org.hibernate.id.enhanced.TableGenerator

<generator class="org.hibernate.id.enhanced.TableGenerator">
     <param name="segment_value">IDDOMAIN_SEQ</param>
</generator>
上一篇 下一篇

猜你喜欢

热点阅读