小曹11111的gravatar头像
小曹11111 2017-07-28 09:20:31

MVC+spring+hibernate使用注解实现多表联查时sql语句怎么写?

MVC+spring+hibernate使用注解实现多表联查时sql语句怎么写?用的mysql数据库

所有回答列表(5)
wenzhou的gravatar头像
wenzhou  LV4 2017年7月28日

员工表

@Entity
@Table(name = "EMP")
public class Emp {
    @Id
    @Column(name = "EMPNO")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "emp_num")
    @SequenceGenerator(name = "emp_num", sequenceName = "emp_num_id", allocationSize = 1, initialValue = 1)
    private Integer empNo;

    @Column(name = "EMPNAME")
    private String empName;
    
    @ManyToOne()
    @JoinColumn(name = "DEPTNO")
    private Dept dept;
}

部门表


@Entity
@Table(name = "DEPT")
public class Dept {
    @Id
    @Column(name = "DEPTNO")
    @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="dept_num")
    @SequenceGenerator(name="dept_num",sequenceName="dept_num_no",allocationSize=1,initialValue=1)
    private Integer deptNo;

    @Column(name = "DEPTNAME")
    private String deptName;


    public Integer getDeptNo() {
        return deptNo;
    }
}

查询

@Test
public void test(){
	
	SessionFactory sf=new AnnotationConfiguration().configure().buildSessionFactory();
    Session session = sf.openSession();
    
	Emp emp=(Emp)session.load(Emp.class, 1);
    
	System.out.println(emp.getEmpName()+"\t"+emp.getDept().getDeptName());
	
}
jichuang的gravatar头像
jichuang  LV3 2017年7月28日

vgf

liuyuxiang的gravatar头像
liuyuxiang  LV3 2017年7月30日

学习下

chenkun的gravatar头像
chenkun  LV10 2017年8月2日

代码不全

hgguirong的gravatar头像
hgguirong  LV3 2017年8月7日
HibernateCallback callback = new HibernateCallback() {
			public Object doInHibernate(Session session)
					throws HibernateException {

String queryStr="from A a,B b where a.id=b.id";
Query query=session.createQuery(queryStr);
List result=query.list();
HashMap map = new HashMap();
map.put("total", new Integer(total));
map.put("result", result);
return map;
              }
}

service层获取map

Map map=(Map)controlImgr.getResult(参数);
List list=(List)map.get("result");
for(int i=0;i<list.size();i++){
Object[]object=(Object)list.get(i);
A a=(A)object[0];
B b=(B)object[1];
}
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友