用get的话如果传入的id不存在会返回空值;load返回一个代理类,如果id不存在,报id不存在异常 ;
上面的两种方法都要通过主键进行查询,其他字段不能够使用。而我们在平常项目中很多时候需要通过一个唯一约束条件得到一个对象。比如通过用户名得到密码,这个时候可以使用uniqueResult()方法来获取。比如
Query q = session.createQuery("select t.password from TUserLogin t where t.username='"+loginUser+"'");
Object o = q.uniqueResult();
上面的两种方法都要通过主键进行查询,其他字段不能够使用。而我们在平常项目中很多时候需要通过一个唯一约束条件得到一个对象。比如通过用户名得到密码,这个时候可以使用uniqueResult()方法来获取。比如
Query q = session.createQuery("select t.password from TUserLogin t where t.username='"+loginUser+"'");
Object o = q.uniqueResult();