【发布时间】:2016-09-18 09:01:56
【问题描述】:
我正在关注 Hibernate 的教程并看到以下代码:
package com.websystique.spring.dao;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
public abstract class AbstractDao {
@Autowired
private SessionFactory sessionFactory;
protected Session getSession() {
return sessionFactory.getCurrentSession();
}
public void persist(Object entity) {
getSession().persist(entity);
}
public void delete(Object entity) {
getSession().delete(entity);
}
}
我想知道persist()(或save() 或delete())是否可以在没有事务的情况下使用?就像这里的情况一样。
【问题讨论】:
-
我会顺便指出,由于各种原因,这是非常糟糕的代码。理想情况下,使用 Spring Data JPA(并使用构造函数注入)。
-
谢谢,会调查这些
-
没有事务就无法持久。请查看您的休眠配置文件。它应该通过拦截器提供交易