zoukankan      html  css  js  c++  java
  • 第二讲 Hibernate中配置文件详解 (常用)

    1. hibernate.cfg.xml配置详解?

    hibernate.cfg.xml Hibernate中最重要的配置文件。

    作用:用来初始化hibernate,配置全局参数。

     

    <property name="dialect">
        org.hibernate.dialect.SQLServerDialect
    </property>
    dialect 方言:用来切换不同的数据
    <property name="connection.url">
                jdbc:sqlserver://localhost:1433;databaseName=testdb
    </property>
    <property name="connection.username">sa</property>
    <property name="connection.password">123456</property>
    <property name="connection.driver_class">
        com.microsoft.sqlserver.jdbc.SQLServerDriver
    </property>
    配置连接字符串。
    <property name="属性名"></property>
    配置Hibernate的全局属性。
    show_sql  —— 显示执行的SQL语句。
    connection.autocommit —— 事务自动提交
    <mapping resource="com/zuxia/entity/Userinfo.hbm.xml" />
    用于加载Hibernate中类与表之间的关联关系。

     

    2. 持久化类的属性与配置文件?

     

    <class name="com.zuxia.entity.Userinfo" table="userinfo" schema="dbo" catalog="testdb">
    配置实体类与表之间的关联关系
    <id name="uid" type="java.lang.Integer">
          <column name="uid" />
          <generator class="native" />
    </id>
    配置表中的主键管理。
    <generator class="native" />表示主键的管理策略。
    native —— 由数据库自行管理。
    identity —— 启用数据库自动增长
    sequence —— 提供给Oracle、DB2等大型数据库中到序列。
    increment —— 由Hibernate来完成自动增长功能。
    foreign —— 引用另外一张表的主键
    uuid —— 自动生成一组序列号,作为主键(尽量少使用)。
    assigned —— 表示在程序中由Java代码负责管理(默认管理方式)。
    注意:Hibernate要求所有的表,必须具有主键。
    <property name="uname" type="java.lang.String" insert="true" update="true" not-null="true" >
    <column name="uname" length="20" default="getdate()" />
    </property>

     

    多表之间的关系操作:

     

    一对一关系:<one-to-one>

     

    一对多\多对一关系:<many-to-one>

     

    多这一端:
    <set name="emps" inverse="true">
            <key>
                <column name="did" />
            </key>
           <one-to-many class="com.zuxia.entity.Emp" />
    </set>
    一这一端:
    <many-to-one name="dept" class="com.zuxia.entity.Dept" fetch="select">
        <column name="did" />
    </many-to-one>
    fetch="select | join" —— 关联关系的时候,select会启动新的查询,join会使用联合查询
    select 与 join对比:
    select:如果用户需要使用时,才执行查询;否则不查询。
    join:始终使用连接查询
    lazy="false" :(懒惰)立即查询数据。
    cascade="delete" :级联操作(delete,删除关联的数据;放在set端使用,表示级联删除相关数据)
    inverse="true" :表示有从表来维护关系(不会多产生不必要的update修改语句)
    好处:方便级联操作。

     

     

     

     

  • 相关阅读:
    Centos下使用gitosis配置管理git服务端(转载)
    学习git遇到的一些简单错误
    通过IP连接网上打印机(转载)
    Porlet标准:JSR168/JSR286/WSRP(转载)
    网络泛洪(转载)
    Linux Shell入门(转载)
    Shell中set用法(转载)
    数据结构实验之链表五:单链表的拆分(SDUT 2120)
    数据结构实验之链表五:单链表的拆分(SDUT 2120)
    数据结构实验之链表四:有序链表的归并(SDUT 2119)
  • 原文地址:https://www.cnblogs.com/lljj/p/Hibernate02.html
Copyright © 2011-2022 走看看