你能解释一下,幕后发生了什么?Spring HibernateTemplate:它如何处理事务?
在Spring中使用此模板时的事务管理是绝对不清楚的。
如果我调用10个DAO方法,它们全部使用相同的Hibernatetemplate ,我会一个接一个地调用它们呢?每个方法在自己的事务中运行?
这不是有效的不是吗?
你能解释一下,幕后发生了什么?Spring HibernateTemplate:它如何处理事务?
在Spring中使用此模板时的事务管理是绝对不清楚的。
如果我调用10个DAO方法,它们全部使用相同的Hibernatetemplate ,我会一个接一个地调用它们呢?每个方法在自己的事务中运行?
这不是有效的不是吗?
一般来说,你会把你的交易放在你的服务层看到Spring docs。
如果您只是使用hibernate模板,那么现成的行为是自动提交您的daos所做的一切。你需要一个交易经理来照顾你的这种行为。事务与hibernate模板正交。
您应该在服务上使用Spring declarative transaction management,而不是DAO。
服务知道工作单位,而不是DAO。
这些事务在服务中定义,您希望避免在DAO的 DAO层中定义事务,并在服务层定义的事务中执行数据操作。