iteye_20312 2011-01-03 18:15
浏览 227
已采纳

hibernate生成的dao,调用他查询,我初学,麻烦帮忙看一下

[code="java"]
public List findAll() {
log.debug("finding all User instances");
try {
String queryString = "from User";
Query queryObject = getSession().createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}
[/code]
[color=blue] 请问一下 这样要怎么 查询它呢, 它返回的结果类型的List的, 我需要用一个集合来遍历,请问一下需要怎么做呢?
还有一个问题[/color]
[code="java"]
public void delete(User persistentInstance) {
log.debug("deleting User instance");
try {
getSession().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}
[/code]
[color=blue] 比如调用它的delete方法 也是必须要用Transaction 然后再执行commit才能执行删除吗? 如果有对这方面了解的麻烦帮下忙,谢谢各位了[/color]

  • 写回答

3条回答 默认 最新

  • a469784316 2011-01-03 21:27
    关注

    问题1:
    你可以这样遍历:
    for(User user:list){
    /**你的操作*/
    }

    问题2:
    如果你使用的是Hibernate,没使用spring,你的hibernate.cfg.xml的相关配置中,一般情况下是没有设置手工提交,默认的是自动提交。
    如果使用了spring,则配置文件中会有如下语句:
    ,可见你已你已把默认提交开启,为自动提交方式,如果是false,则为手工提交方式。
    如调用它的delete方法 不须要用Transaction 然后再执行commit才能执行删除,数据库的更新操作(add,delete,update),也可不用事务的commit。
    用事务只是把对数据库的操作一次性提交,add,delete,update进行的操作已经提交,在事务执行中如果有错误就进行回滚,所以说用事务让数据更加安全,不会导致数据的丢失。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?