hibernate继承映射[映射单独一个tablexml版本]实例【与19相同,方式不同,未验证】(二十)
来源:互联网 发布:大数据盈利模式 编辑:程序博客网 时间:2024/06/06 00:01
1
package com.sm.hibernate.pojo;import java.util.Set;public class User {private int id;private String name;private int qq;private Grade grade;private Set<Course> courses;public Set<Course> getCourses() {return courses;}public void setCourses(Set<Course> courses) {this.courses = courses;}public Grade getGrade() {return grade;}public void setGrade(Grade grade) {this.grade = grade;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getQq() {return qq;}public void setQq(int qq) {this.qq = qq;}}
此处最最重要的两点 ,一个是鉴别器,一个是子类声明,缺一不可
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.sm.hibernate.pojo"><class name="User" table="hib_user"><id name="id"><generator class="native"></generator></id><discriminator column="type" type="string"/><property name="name"></property><property name ="qq"></property><many-to-one name = "grade" cascade="all" column="gradeid" class ="Grade"></many-to-one><set name="courses" table="hib_uc"><key column="userid"></key><many-to-many column="courseid" class="Course"></many-to-many></set><subclass name="Guest" discriminator-value="guest"><property name="email"/></subclass> </class></hibernate-mapping>
2
继承类
package com.sm.hibernate.pojo;public class Guest extends User{private String email;public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}
他没有 映射文件
3 把原来表删除了再执行
4
package com.sm.hibernate.Test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;import com.sm.hibernate.pojo.Grade;import com.sm.hibernate.pojo.Guest;import com.sm.hibernate.pojo.User;public class Test4 {public static void main(String[] args) {SessionFactory factory = new Configuration().configure().buildSessionFactory();Session session = factory.openSession();session.beginTransaction();Guest guest = new Guest();guest.setName("hello");guest.setEmail("emial");session.save(guest);session.getTransaction().commit();session.close();}}
5 结果
- hibernate继承映射[映射单独一个tablexml版本]实例【与19相同,方式不同,未验证】(二十)
- Hibernate 继承映射(二)
- Hibernate(十)继承结构映射
- Hibernate继承映射方式一
- Hibernate继承映射之使用多子表方式实例
- hibernate继承关系映射二
- 【Hibernate】组件映射与继承映射
- 三、Hibernate组件映射与继承映射
- Hibernate学习——(十)继承映射
- 【HIbernate框架学习】:Hibernate对象继承关系映射(二)
- Hibernate映射详解(六)--继承映射
- Hibernate映射(二)
- Hibernate映射与注解实例
- Hibernate映射与注解实例
- Hibernate继承映射的三种方式
- 【Hibernate】(九)继承映射
- Hibernate(七):继承映射
- 精通Hibernate之映射继承关系二(图)
- 社会计算实例:10秒钟验证码能干什么?
- hibernate进行继承映射时的异常Unknown column 'allowpost' in 'field list'
- 泌尿结石要如何预防
- 学习笔记:点击网页的QQ超链接,马上弹出QQ聊天
- leetcode:Multiply Strings(字符串的乘法)【面试算法题】
- hibernate继承映射[映射单独一个tablexml版本]实例【与19相同,方式不同,未验证】(二十)
- boost thread pool
- 概述 - Node.js API 文档
- tcpdump批处理命令获取root权限的方法总结
- Jquery Datepicker操作案例
- 转:Python2入门教程 超详细1小时学会Python
- android反编译语句实例分析
- Configure Secure FTP, with VSFTPD
- ExtJS的TabPanel在Java应用中使用总结