用S2SH三大框架整合,用了oracle自带的表emp,实现了自连接。

pojo类:

public class Emp implements java.io.Serializable {

	// Fields

	private Short empno;
private Dept dept;
private String ename;
private String job;
private Short mgr;
private Date hiredate;
private Double sal;
private Double comm; //添加一个需要的属性--上级名称-->持有自己的引用(上级也来自员工表)
//必须是一对多双向 因为上级也出自员工表 一个上级同样是一个员工 他可能有多个下级
private Emp empmgr;
private Set<Emp> emps = new HashSet<Emp>(); //get and set.....
}

Emp.hbm.xml部分:

<hibernate-mapping>
<class name="com.wepull.pojo.Emp" table="EMP" schema="SCOTT" >
<id name="empno" type="java.lang.Short">
<column name="EMPNO" precision="4" scale="0" />
<generator class="increment"></generator>
</id>
<many-to-one name="dept" class="com.wepull.pojo.Dept" fetch="select"
lazy="false">
<column name="DEPTNO" precision="2" scale="0" />
</many-to-one> <!-- 自连接配置 手动增加部分 缺一不可 -->
<many-to-one name="empmgr" class="com.wepull.pojo.Emp"
update="false" insert="false" >
<column name="mgr"></column>
</many-to-one> <set name="emps" cascade="save-update" inverse="true">
<key column="mgr"></key>
<one-to-many class="com.wepull.pojo.Emp"/>
</set> <property name="ename" type="java.lang.String">
<column name="ENAME" length="10" />
</property>
<property name="job" type="java.lang.String">
<column name="JOB" length="9" />
</property>
<property name="mgr" type="java.lang.Short">
<column name="MGR" precision="4" scale="0" />
</property>
<property name="hiredate" type="java.util.Date">
<column name="HIREDATE" length="7" />
</property>
<property name="sal" type="java.lang.Double">
<column name="SAL" precision="7" />
</property>
<property name="comm" type="java.lang.Double">
<column name="COMM" precision="7" />
</property>
</class>
</hibernate-mapping>

其他部分无需过多阐述,既然能用框架了,别的都是小问题了,个人感觉自连接是个新知识点,所以在此记下以备所需。起初是想单单通过修改HQL语句来实现自连接,可是没有成功,自己也认定不能成功,因为查出的东西无法和pojo实体类映射。后来网上查找发现要和自己实现一对多双向关联来实现自连接,这的确是个好方法,也容易理解。

最新文章

  1. [css] CSS3中的单位
  2. Unity3D粒子系统 合集
  3. NOIP2005提高组 过河
  4. JavaScript:闭包
  5. hdu 1025 dp 最长上升子序列
  6. ASP.NET 3.5 中实现发送email电子邮件
  7. bzoj3007: 拯救小云公主
  8. Oracle临时表(Temporary Table)
  9. [ASP.NET 技术点滴] Jquery 前端验证
  10. poj 3185 The Water Bowls 高斯消元枚举变元
  11. C# 读书笔记之访问关键字this和base
  12. Android系统权限和root权限大全
  13. java导入excel
  14. Nginx-keepalived+Nginx实现高可用集群
  15. C++Primer第五版——习题答案详解(七)
  16. Python复习笔记(四)高阶函数/返回函数/匿名函数/偏函数/装饰器
  17. c#中的as,is和强转
  18. 20145118《Java程序设计》 第7周学习总结
  19. Tornado之链接数据库
  20. git —— Feature分支

热门文章

  1. 数据结构&amp;字符串:可持久化字典树
  2. Codeforces 671B/Round #352(div.2) D.Robin Hood 二分
  3. RDLC - 后台代码直接导出Excel/PDF/Word格式
  4. 【洛谷 P2042】 [NOI2005]维护数列(自闭记第一期)
  5. Centos服务器ssh免密登录以及搭建私有git服务器
  6. ubuntu gnome桌面秀
  7. ubuntu中使用virtualbox遇到Kernel driver not installed (rc=-1908)错误
  8. Java中基于HotSpot虚拟机的垃圾收集器
  9. %和format 细说
  10. $scope作用及模块化解决全局问题