hibernate学习笔记【对象继承采用一个表方式】
来源:互联网 发布:slackware linux 安装 编辑:程序博客网 时间:2024/05/06 22:02
例子:商品(dvd,book)
Item.java
package com.gh.hibernate.test;import java.io.Serializable;public class Item implements Serializable {/** * 测试继承 */private static final long serialVersionUID = 1586577862062600368L;private Integer id;private String name;private String manufacturer;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getManufacturer() {return manufacturer;}public void setManufacturer(String manufacturer) {this.manufacturer = manufacturer;}}
package com.gh.hibernate.test;public class dvd extends Item {private String regionCode;public String getRegionCode() {return regionCode;}public void setRegionCode(String regionCode) {this.regionCode = regionCode;}}
package com.gh.hibernate.test;public class book extends Item {private String pageCount;public String getPageCount() {return pageCount;}public void setPageCount(String pageCount) {this.pageCount = pageCount;}}
Item.hbm.xml
<?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><class name="com.gh.hibernate.test.Item"><idname="id"><generator class="native"></generator></id><discriminatorcolumn="category"type="string"/><property name="name"/><property name="manufacturer"/><subclassname="com.gh.hibernate.test.book"discriminator-value="1"><property name="pageCount"></property></subclass><subclassname="com.gh.hibernate.test.dvd"discriminator-value="2"><property name="regionCode"></property></subclass></class></hibernate-mapping>
测试:
public void testDemo1(){Configuration config = new Configuration().configure();SessionFactory sessionFactory = config.buildSessionFactory();Session session = sessionFactory.openSession();List<Item> l1 = session.createQuery("from dvd").list();for(Item it : l1){System.out.println(it.getName());}book bk = new book();bk.setName("aaa");dvd dvd = new dvd();dvd.setName("dvd2");Transaction ts = session.beginTransaction();session.save(bk);session.save(dvd);session.flush();ts.commit();}
0 0
- hibernate学习笔记【对象继承采用一个表方式】
- hibernate学习笔记04----检索对象的方式
- 学习笔记--面向对象继承
- J2EE系列之Hibernate4学习笔记(十)--Hibernate继承关系映射(每个具体类对应一个表)
- J2EE系列之Hibernate4学习笔记(十一)--Hibernate继承关系映射(根类对应一个表)
- J2EE系列之Hibernate4学习笔记(十二)--Hibernate继承关系映射(每个类对应一个表)
- Hibernate学习笔记:继承映射之每个子类一张表
- Hibernate学习笔记:对象生命周期
- Django学习笔记(2) -- 继承方式扩展用户表
- Hibernate 3.2 学习笔记 映射继承关系
- Hibernate学习笔记-------继承关系映射
- Hibernate学习笔记之继承映射
- 【Hibernate学习笔记】映射继承关系
- Hibernate学习笔记----映射继承关系
- 【HIbernate框架学习】:Hibernate对象继承关系映射(一)
- 【HIbernate框架学习】:Hibernate对象继承关系映射(二)
- 【HIbernate框架学习】:Hibernate对象继承关系映射(三)
- Hibernate学习笔记:继承映射之每个类继承结构一张表
- BZoj 2186 [Sdoi2008]沙拉公主的困惑 (1~N!中与M!互质的数的个数)
- JavaScript动态创建HTML元素
- 机器视觉开源处理库汇总(转)
- android发送短信
- 面试总结——2014-02-13
- hibernate学习笔记【对象继承采用一个表方式】
- ZooKeeper安装过程
- sqlserver修改密码
- io通讯框架
- android单元测试遇到的问题
- VC结构体实现类似数组的下标操作符功能
- WebView相关知识
- linux查看文件依赖的库
- Android环境下Ksoap连接Axis2