hibernate类之间继承关系映射
2016-07-23 19:05
232 查看
1.示图
2.Animal.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2016-7-20 10:48:06 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.eduask.pojo.Animal" table="Animal">
<id name="id" type="int">
<column name="ID" />
<generator class="assigned"/>
</id>
<discriminator column="age" type="string"></discriminator>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<!--使用subclass时必定使用discriminator,且放在id下面 -->
<subclass name="com.eduask.pojo.Cat" discriminator-value="10">
<property name="color"></property>
</subclass>
<!--使用union-subclass -->
<!-- <union-subclass name="com.eduask.pojo.Cat" table="Cat">
<property name="color"></property>
</union-subclass>
-->
</class>
</hibernate-mapping>
3.CatTest.java
package com.eduask.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Before;
import org.junit.Test;
import com.eduask.pojo.Cat;
import com.eduask.util.HibernateUtil;
public class CatTest {
private SessionFactory sessionFactory;
@Before
public void setUp(){
sessionFactory=HibernateUtil.getSessionFactory();
}
@Test
public void catTest(){
Session session=sessionFactory.openSession();
Transaction tr=session.beginTransaction();
Cat c=new Cat();
c.setName("小猫之一");
c.setColor("black");
session.save(c);
tr.commit();
session.close();
}
}
4.使用subclass程序运行之后,查看数据库如下:
5.使用union-subclass程序运行之后,查看数据库:
2.Animal.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2016-7-20 10:48:06 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="com.eduask.pojo.Animal" table="Animal">
<id name="id" type="int">
<column name="ID" />
<generator class="assigned"/>
</id>
<discriminator column="age" type="string"></discriminator>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<!--使用subclass时必定使用discriminator,且放在id下面 -->
<subclass name="com.eduask.pojo.Cat" discriminator-value="10">
<property name="color"></property>
</subclass>
<!--使用union-subclass -->
<!-- <union-subclass name="com.eduask.pojo.Cat" table="Cat">
<property name="color"></property>
</union-subclass>
-->
</class>
</hibernate-mapping>
3.CatTest.java
package com.eduask.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Before;
import org.junit.Test;
import com.eduask.pojo.Cat;
import com.eduask.util.HibernateUtil;
public class CatTest {
private SessionFactory sessionFactory;
@Before
public void setUp(){
sessionFactory=HibernateUtil.getSessionFactory();
}
@Test
public void catTest(){
Session session=sessionFactory.openSession();
Transaction tr=session.beginTransaction();
Cat c=new Cat();
c.setName("小猫之一");
c.setColor("black");
session.save(c);
tr.commit();
session.close();
}
}
4.使用subclass程序运行之后,查看数据库如下:
5.使用union-subclass程序运行之后,查看数据库:
相关文章推荐
- Hibernate学习记录
- 关于Hibernate的hilo主键生成器(另附继承映射)
- Hibernate继承映射之二_用多张表映射1
- Hibernate继承映射之三_用多张表映射2
- hibernate三种继承关系
- Hibernate 简单使用(七)继承映射的几种方式
- Hibernate的继承映射
- 【Hibernate框架开发之七】Annotation各种关系CRUD增删改查&集合映射&继承映射
- SSH框架之Hibernate的继承映射的形式一(一张表)
- SSH框架之Hibernate的继承映射的形式二(三张表)
- SSH框架之Hibernate的继承映射的形式三(两张表)【推荐】
- Hibernate之 继承映射
- char & unsigned char & signed char
- 邮件反伪造&增加可行度防分为垃圾邮件的两种方式SPF&DKIM
- VXLAN 技术解析-(1)VXLAN简述
- android微信摇一摇(抽奖)
- iOS 【程序启动原理/手动创建UIWindow/UIApplicationMain做了些什么/makeKeyAndVisible底层实现】
- 51nod 1120 机器人走方格v3
- C++基础:纯虚函数
- MATLAB中如何将离散加速度积分求得速度