使用hibernate查询从表中选择数据组。选择查询的结果集存储在List中。查询正确执行。即使查询返回空选择,我如何检查List是否为空......基于条件,事务被执行。
如何检查列表是否为空?
public String getData(String ID){
Transaction transaction=null;
Session session=HibernateUtil.getSessionFactory().openSession();
List<MyClass> myList=null;
try{
transaction=session.beginTransaction();
myList=session.createQuery("from table as t where t.ID=:ID")
.setString("ID",ID).list();
transaction.commit();
}catch(RuntimeException e){
if(transaction!=null){
log.error(e);
transaction.rollback();
}
}finally{
session.flush();
session.close();
}
}
答案 0 :(得分:1)
如何检查列表是否为空?
使用isEmpty
方法。
if(myList.isEmpty()){
// List is empty.
}
答案 1 :(得分:1)
答案 2 :(得分:1)
`Based on the condition the transaction get executed.`
如果您的事务成功执行,那么只有您将List列为空,否则您的列表将为null,因为您已使用null初始化它
因此,如果交易完成,您可以使用isEmpty()
或list.size()
方法检查尺寸
List<MyClass> myList=null; **// initialised as null**
try{
transaction=session.beginTransaction();
myList=session.createQuery("from table as t where t.ID=:ID")
.setString("ID",ID).list();
transaction.commit(); **// if any exception comes myList will be null**
}catch(RuntimeException e){
if(transaction!=null){
log.error(e);
transaction.rollback();
}
}finally{
session.flush();
session.close();
}