hibernate映射文件详解
2014-11-13 11:07
197 查看
hibernate映射文件详解<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!--
用来描述一个持久化类
name 类的全名
table 可以不写 默认值和类名一样
catalog 数据库的名称 一般不写
-->
<class name="cn.itcast.hibernate.sh.domain.Person">
<!--
标示属性 和数据库中的主键对应
name 属性的名称
column 列的名称
-->
<id name="pid" column="pid" length="200" type="java.lang.Long">
<!--
主键的产生器
就该告诉hibernate容器用什么样的方式产生主键
-->
<generator class="increment"></generator>
</id>
<!--
描述一般属性
-->
<property name="pname" column="pname" length="20" type="string">
</property>
<property name="psex" column="psex" length="10" type="java.lang.String"></property>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!--
用来描述一个持久化类
name 类的全名
table 可以不写 默认值和类名一样
catalog 数据库的名称 一般不写
-->
<class name="cn.itcast.hibernate.sh.domain.Person">
<!--
标示属性 和数据库中的主键对应
name 属性的名称
column 列的名称
-->
<id name="pid" column="pid" length="200" type="java.lang.Long">
<!--
主键的产生器
就该告诉hibernate容器用什么样的方式产生主键
-->
<generator class="increment"></generator>
</id>
<!--
描述一般属性
-->
<property name="pname" column="pname" length="20" type="string">
</property>
<property name="psex" column="psex" length="10" type="java.lang.String"></property>
</class>
</hibernate-mapping>
package cn.itcast.hibernate.sh.generator; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test; import cn.itcast.hibernate.sh.domain.Person; import cn.itcast.hibernate.sh.utils.HiberanteUtils; public class GeneratorTest extends HiberanteUtils{ /** * Hibernate: select max(pid) from Person Hibernate: insert into Person (pname, psex, pid) values (?, ?, ?) 说明: 1、主键的类型必须是数字 2、主键的生成是由hibernate内部完成的,程序员不需要干预 3、这种生成机制效率比较低 */ @Test public void testIncrement(){ Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); Person person = new Person(); person.setPname("上海第一期班长"); person.setPsex("女"); /** * 参数必须持久化对象 */ session.save(person); transaction.commit(); session.close(); } /* * Hibernate: insert into Person (pname, psex) values (?, ?) * 说明 * 1、新的主键的产生是由数据库完成的,并不是由hibernate或者程序员完成的 * 2、该表必须支持自动增长机制 * 3、效率比较高 */ @Test public void testIdentity(){ Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); Person person = new Person(); person.setPname("上海第一期班长"); person.setPsex("女"); /** * 参数必须持久化对象 */ session.save(person); transaction.commit(); session.close(); } /** * 由程序设置主键 */ @Test public void testAssigned(){ Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); Person person = new Person(); person.setPname("上海第一期班长"); person.setPsex("女"); /** * 参数必须持久化对象 */ session.save(person); transaction.commit(); session.close(); } /** * 1、UUID是由hibernate内部生成的 * 2、主键的类型必须是字符串 */ @Test public void testUUID(){ Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); Person person = new Person(); person.setPname("上海第一期班长"); person.setPsex("女"); /** * 参数必须持久化对象 */ session.save(person); transaction.commit(); session.close(); } /** * hibernate内部是根据主键生成器来生成主键的,在客户端设置主键不一定起作用,在assigned的时候起作用 */ @Test public void testIdentity_ID(){ Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); Person person = new Person(); person.setPid(1L); person.setPname("aa"); person.setPsex("aa"); session.save(person); transaction.commit(); session.close(); } }
相关文章推荐
- Hibernate配置文件中映射元素详解
- Hibernate配置文件中映射元素详解
- Hibernate配置文件中映射元素详解
- Hibernate配置文件中映射元素详解
- hibernate映射文件XXX.hbm.xml配置映射元素详解--对象标识符(OID)
- Hibernate配置文件中映射元素详解
- Hibernate映射配置文件中id标签的unsaved-value属性详解
- hibernate映射文件根元素属性详解
- hibernate映射文件一级子元素详解
- Hibernate配置文件中映射元素详解
- Hibernate配置文件中映射元素详解
- Hibernate映射文件详解
- Hibernate配置文件和映射元素详解
- Hibernate 映射文件详解
- Hibernate配置文件中映射元素详解
- Hibernate配置文件和映射元素详解
- Hibernate配置文件中映射元素详解
- Hibernate 配置文件中映射元素详解
- hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型
- Hibernate配置文件中映射元素详解