博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate继承、多态查询(五)
阅读量:4261 次
发布时间:2019-05-26

本文共 1553 字,大约阅读时间需要 5 分钟。

继承映射、多态查询

  通过hibernate如何实现继承,有三种方式:

   1):每个子类一张表。每个子类对应一个hbm.xml文件,但是父类没有对应的hbm.xml文件。

Public class Parent implements Serilizable{   Private Long id;//主键   Private String name;    ...setter/getter...}Public class Child1 implmemts Parent,Serilizable{   Private String cardNumber;}Public class Son implements Parent,Serilizable{  Private String loves;}
Child1.hbm.xml
对于Som.hbm.xml一样的进行配置
多态查询Public void test(){    SessionFactory factory = new Configuration().configure();  Session session = factory.openSession();  Transaction tx = null;  Try{      Tx = session.beginTransaction();      //注意这里并没有Parent.hbm.xml文件,因此在查询时,需要写全名,多态查询      Query query = session.createQuery(“from com.test.Parent”);      List
list = (List
)query.list();   For(Parent p :list){   If(p instanceOf Child1){   //这里得到的就是Child1对象   }else if(p instanceOf Son){   //这里得到的就是Son对象   }   }   Tx.commit();  }catch(Exception e){   If(null != tx)   tx.rollBack();  }finally{   If(null != session)session.close();  }}

2):所有的子类都在同一个表中(会造成字段浪费),只针对父类有hbm.xml,其余没有

Parent.hbm.xml

3):父类信息放置在一张表中,每个子类都有自己的表,但存放自己独有的东西。

      ...略....

转载地址:http://mhxei.baihongyu.com/

你可能感兴趣的文章
关于super()
查看>>
关于JAVA中GUI的使用
查看>>
接口的简单使用
查看>>
关于接口的几点
查看>>
自己封装的一个简单组件:文字标签 文本框
查看>>
集合的一些概念总结
查看>>
几个常见的关于日期的SQL
查看>>
常见约束、事务及其他查询语句
查看>>
关于jdbc
查看>>
利用jdbc做的一个简单系统(接上一篇)
查看>>
对TextField 和JTextField 等文本编辑区的监听
查看>>
详解个推java服务端集成(干货)
查看>>
常见聚合函数
查看>>
简单子查询
查看>>
联表查询
查看>>
关于WindowListener的使用
查看>>
关于KeyListener的简单使用
查看>>
关于鼠标移动监听接口:MouseMotionListener
查看>>
TCP/IP详解笔记(一)
查看>>
501. Find Mode in Binary Search Tree
查看>>