当前位置: 代码迷 >> J2EE >> 用hql如何取的第三方表的数据
  详细解决方案

用hql如何取的第三方表的数据

热度:77   发布时间:2016-04-22 01:29:00.0
用hql怎么取的第三方表的数据
我有个部门表如下:
public class SysDepart implements java.io.Serializable {

// Fields

private int depid;
private String depname;
private String depstatus;
private String depremark;
private Set sysRoles = new HashSet(0);
private Set sysEmployees = new HashSet(0);
  ......
}
有个角色表如下:
public class XOrder implements java.io.Serializable {

// Fields

private Integer xorderid;
private XTrade XTrade;
private Integer xpnum;
private String xordertime;
private Double xprice;
  .......
}
这两个表生成了个第三方表,部门角色表,然后用Hibernate生成的实体类,是没有这个第三方表的,现在 要根据部门Id查询该部门下的所有的角色,如下:
DetachedCriteria dc = DetachedCriteria.forClass(SysDepart.class);//查询所有部门
List listDepart = sysDepartManager.findByCriteria(dc);
SysDepart sysDepart = (SysDepart) listDepart.get(0);
Set listOrles = sysDepart.getSysRoles();
查询出的部门表的角色 集合为-1,请问这是为什么了???

------解决方案--------------------
你两个表什么关系,一对多还是多对多。你直接对象导航啊
------解决方案--------------------
如果你是hibernate3.1一下版本,你HQL可以这么写
hql="form XOrder xo where xo.SysDepart.depid=?"

它会自动帮你生成隐式连接
  相关解决方案