JAVA高手请进!关于hibernate 对多表进行查询的问题

2024-12-20 10:51:49
推荐回答(4个)
回答1:

你执行的是非hql语句是SQL语句。hibernate怎么能实现转成list的对象呀?你说他list()一个是什么东西??什么样的List这个Object是什么??肯定不行呀。这里只能因规jdbc的方式。。
Strng hql ="*****" //你的sql语句
Query query = session.createSQLQuery(hql);
List list = query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
for(Map map : list) {
map.get("字段名1");
map.get("字段名2");//一个一个的拿值
}

回答2:

public List test() {
Strng hql ="*****" //sql
Query query = session.createQuery(hql);
return query.list();
}

回答3:

还是报错啊?很郁闷!
Session session = null;
try {
session = HibernateSessionFactory.getSession();
List list = session.createSQLQuery("select * from user_role ur join privilege p where ur.iUser_Id=3 and p.vAbility_Name='010501' and ur.iRole_Id=p.iRole_Id").list();
System.out.println(list);
} catch (HibernateException e) {
e.printStackTrace();
}

回答4:

public List sqlConnect(){
Strng hql ="*****" //hql 是你hibernate逆向工程出来的类作为根据写的 结构类似SQL语句
Query query = session.createSQLQuery(hql);
List list = HebernateFactorySession.getSession().executeQuery(hql).list();
return list;
}