发布时间:2025-12-09 13:47:16 浏览次数:4
uniqueresult
数据库中根据你的查询条件只会返回唯一结果,就可以用uniqueresult这个方法!否则就用list();其返回类型为Object
uniqueResult()方法通常是在业务方法查询语句中用到的,比如(Usersroles)getsession().createQuery(“select ur from UsersRoles ur where ur.role.id = ? and ur.user.id = ?”) .setparameter(0, roleId) .setParameter(1, userId) .uniqueResult();这时通表示只(从数据库中只返回一条记录)返回一个对象。当不确定时用List()方法
如果查询返回多个值用list()方法
aincopyprint?publicvoidtestQuery(){
configurationconfig=newConfiguration().configure();
sessionfactoryfactory=config.buildSessionFactory();//创建SessionFactory
Sessionsession=factory.openSession();//创建Session
session.begintransaction();//开始事务
Queryquery=session.createQuery(“fromStudent”);
Listlist=query.list();//用list方法返回多个值
//Listlist=session.createQuery(“fromStudent”).list();
for(inti=0;i
Studentstudent=(Student)list.get(i);
System.out.print(student.getId()+”“);
System.out.print(student.getName()+”“);
System.out.print(student.getSex()+”“);
System.out.print(student.getBirthday());
System.out.println();
}
session.getTransaction().commit();//提交事务
session.close();//关闭Session
}
[java]
view plain
copy
print?publicvoidtestQuery(){
Configurationconfig=newConfiguration().configure();
SessionFactoryfactory=config.buildSessionFactory();//创建SessionFactory
Sessionsession=factory.openSession();//创建Session
session.beginTransaction();//开始事务
Queryquery=session.createQuery(“fromStudent”);
Listlist=query.list();//用list方法返回多个值
//Listlist=session.createQuery(“fromStudent”).list();
for(inti=0;i
Studentstudent=(Student)list.get(i);
System.out.print(student.getId()+”“);
System.out.print(student.getName()+”“);
System.out.print(student.getSex()+”“);
System.out.print(student.getBirthday());
System.out.println();
}
session.getTransaction().commit();//提交事务
session.close();//关闭Session
}当确定返回的实例只有一个或者null时 用uniqueResult()方法
[java]
view plaincopyprint?publicvoidtestGet(){
Configurationconfig=newConfiguration().configure();
SessionFactoryfactory=config.buildSessionFactory();
Sessionsession=factory.openSession();
session.beginTransaction();
Queryquery=session.createQuery(“fromStudentswheres.id=?”);
query.setString(0,“2”);
Studentstudent=(Student)query.uniqueResult();//当确定返回的实例只有一个或者null时用uniqueResult()方法
//Studentstudent=(Student)session.createQuery(“fromStudentswheres.id=?”).setString(0,”5″).uniqueResult();
System.out.println(student.getName());
System.out.println(student.getBirthday());
session.getTransaction().commit();
session.close();
}
原文出处:http://blog.csdn.net/oh_mourinho/article/details/7788088
相关阅读
Spring整合HIbernate和springmvc
1.导入jar包
4.2.0.RELEASE
HQL语句查询// 使用HQL查询表的所有记录
Session session = HibernateUitl.getOpenSession()
assigned 是 Hibernate 内置的默认生成器策略,应用程序应该对持久化对象的唯一标识符赋值。
特点:可以跨数据库,人为控制主键生成,建
在Hibernate中的对象有三种状态,即:瞬时状态(Transient)、持久状态(Persistent)、脱管状态(Detached)1、瞬时状态(Transient)由new
通过many-to-one 元素,可以定义一种常见的与另一个持久化类的关联。这种关系模型是多对一关联(实际上是一个对象引用-译注):这个表的