java - Hibernate 在没有事务的情况下持久化

标签 java spring hibernate

我正在学习有关 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())是否可以在没有事务的情况下使用?这里似乎就是这种情况。

最佳答案

你不能在没有事务的情况下保存或持久化对象你必须在保存对象后提交事务否则它不会保存在数据库中。 没有事务你只能从数据库中检索对象

关于java - Hibernate 在没有事务的情况下持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39555878/

相关文章:

java - java 中的 Collections.Sort ArrayList

java - 如何使用@RequestParam将数组的默认值设置为空

java - 更新依赖于其他实体状态的@Entity 字段的正确方法

java - 将使用 Jsp、Servlet 和 mySQL 构建的 Web 应用程序转换为使用 Spring 和 Hibernate 构建的 Web 应用程序很难吗?

java - Arraylist - 如何获取特定元素/名称?

java - @PersistenceContext 如何保证线程安全?

java - 即使我们在 catch block 中处理异常,如何在 spring 中使用 @ControllerAdvice 处理异常

spring security 主体 null/用户未登录 PermitAll 路径

java - JPQL查询- hibernate : with-clause not allowed on fetched associations

java - 尝试显示数组中仅出现一次的整数