java hql 多表查询语句,hql 语句多表联合查询解决办法

Java codeimport java.util.ArrayList;

import java.util.Collections;

import java.util.Date;

import java.util.List;

import java.util.Vector;

import org.hibernate.Query;

import org.hibernate.Session;

import org.hibernate.Transaction;

import y.model.Test;

import y.model.Test1;

import y.model.Test2;

import com.targ.track.financeManager.buildProjectAccount.domain.BuildProjectAccount;

import com.targ.track.financeManager.buildProjectAccount.domain.BuildProjectAccountDetail;

import com.targ.track.startAppManager.domain.StartApplication;

public class MyJunitTest {

@org.junit.Test

public void testDDL(){

//插入数据

HibernateTest.doInHibernateSession(new InHibernateSession(){

@Override

public Object doInHibernateSession(Session session) {

Test1 test1 = new Test1();

test1.setCAgo("CAgo");

test1.setCName("CName");

test1.setCPwd("CPwd");

test1.setCSex("CSex");

Test2 test2 = new Test2();

test2.setDAddr("DAddr");

test2.setDAge(123);

test2.setDName("DName");

test2.setDPwd("DPwd");

test2.setDSex("DSex");

session.save(test1);

session.save(test2);

return null;

}

});

//查询

List all = (List) HibernateTest.doInHibernateSession(new InHibernateSession(){

public Object doInHibernateSession(Session session) {

String sql="select new y.model.Test(c.CId,c.CName,d.DId,d.DName) from Test1 c,Test2 d where c.CId=d.DId";

Query query = session.createQuery(sql);

return query.list();

}

});

for(Test test : all){

System.out.println(test);

}

}

public static class HibernateTest {

public static Object doInHibernateSession(InHibernateSession doInHibernateSession){

Session session = HibernateSessionFactory.getSession();

Transaction transaction = session.beginTransaction();

try{

Object object = doInHibernateSession.doInHibernateSession(session);

transaction.commit();

return object;

}catch(RuntimeException e){

try{

System.err.println("rollback");

transaction.rollback();

}catch(RuntimeException ex){

System.err.println("回滚失败!");

}

throw e;

}finally{

//HibernateSessionFactory.closeSession();

}

}

}

public interface InHibernateSession {

public Object doInHibernateSession(Session session);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值