Java Hibernate无法合并和持久化实体类的两个实例
当我尝试更新Java Hibernate无法合并和持久化实体类的两个实例,java,hibernate,Java,Hibernate,当我尝试更新TeamHibernate时引发异常: Multiple representations of the same entity [Team#1] are being merged. Detached: [Team@49a0aef3]; Managed: [Team@bf505c] TeamDAOImpl public void updateTeam(Team team) { Team teamToUpdate = getTeam(team.
Team
Hibernate时引发异常:
Multiple representations of the same entity [Team#1] are being merged.
Detached: [Team@49a0aef3]; Managed: [Team@bf505c]
TeamDAOImpl
public void updateTeam(Team team) {
Team teamToUpdate = getTeam(team.getId());
teamToUpdate.setName(team.getName());
team = null; // doesn't help to avoid exception
getCurrentSession().merge(teamToUpdate);
}
public Team getTeam(int id) {
Team team = (Team) getCurrentSession().get(Team.class, id);
return team;
}
我已经看到了与此异常相关的大多数问题,但还没有找到有效的解决方案。如何修复它
更新:
这似乎是Hibernate团队必须解决的问题。在我的例子中,逻辑非常简单,我无法相信Hibernate无法更新当前实体。一定有办法。通过从源实体中删除CascadeType来修复它。我认为getCurrentSession().get(Team.class,id)将同一对象指向不同的位置。尝试创建team的新实例,如下所示:team team=new team();并告诉meI不理解getTeam方法中的point,而是Team Team=(Team)getCurrentSession().get(Team.class,id);编写:团队=新团队();更改后也会发生相同的错误我花了数小时试图解决此问题。谢谢你的提示。