您的位置:首页 > 其它

第二讲 Hibernate中配置文件详解 (常用)

2012-11-05 09:08 330 查看
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修改语句)
好处:方便级联操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: