java - 非法尝试将代理与两个打开的 session 相关联

标签 java mysql hibernate

我有一个 java 应用程序,它使用 hibernate 来连接 MySQL 数据库。问题是,当我尝试删除任何项目时,出现此异常:

org.hibernate.HibernateException: illegally attempted to associate a proxy with two open Sessions

这是我的删除代码:

public void delete(Employee persistentInstance) {
    log.debug("deleting Employee instance");
    try {
        getCurrentSession().delete(persistentInstance);
        log.debug("delete successful");
    } catch (RuntimeException re) {
        log.error("delete failed", re);
        throw re;
    }
}

谁能帮帮我?

最佳答案

确保正确管理 session 。完成 Hibernate Session 后,您应该将其关闭。

我怀疑你在一个你没有关闭的 session 中加载了 Employee,只是为了尝试在另一个 session 中删除它。

关于java - 非法尝试将代理与两个打开的 session 相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27088089/

相关文章:

javascript - 使用 iText 在 pdf 的特定位置标记

Java 使用 JUnit 测试一个方法 (void)

mysql - 如何使用mysql设计一个具有单个类别和n个子类别的数据库

spring - 使用 postgis 和 Spring hibernate 空间 : can't get back spatial data

java - hibernate 中的 OneToOne - 未知 "mappedBy"

java - 使用 JPA 映射数据库导入国家/地区以寻址实体

mysql - 在 MySql 中使用一个或多个 View 创建 UNION

php - symfony 3.4 FirewallListener 缓慢/阻塞

java - 需要有关简单用户管理模型的 hibernate 条件查询的帮助

java - 方法的参数值