对于一些不复杂的批量操作,在service方法中调用多个dao合适吗,个人不是很倾向写存储过程,性能要求不高。
大家这种情况是写存储过程还是hibernate呢,性能差距大吗?
感觉用hibernate的性能在预编译和使用ORM对JDBC封装用到反射吧.

解决方案 »

  1.   

    一般不这样用。可以用hibernate或者natice sql
      

  2.   

    应该在DAO里面写。批量的时候你应该考虑事物。如果每个DAO都是单独的事物,那么这个业务就很危险。
      

  3.   

    用事务处理Session session = dao.getHibernateSession();
    session.beginTransaction();
    try{
    ............
    } catch (Exception e) {
    session.getTransaction().rollback();
    }
    session.getTransaction().commit();
    dao.releaseHibernateSession(session);
      

  4.   


    用存储过程的目的不是单纯的执行一组SQL语句 你最好去了解什么情况下适合用存储过程至于是否合适在SERVICE中同时调用多个DAO 可以
      

  5.   

    我的事务是在service层控制的,所以是没有问题的,感觉事务一般来说都是在service中控制的啊。
      

  6.   

    利用存储过程执行,性能上肯定比hibernate高,但是在数据库移植上可能会造成麻烦。打个形象比喻,你从客厅去洗手间,直接去肯定快;如果非得要先去卧室再去洗手间的话,就绕了。呵呵……