具有@ElementCollection的Hibernate集合包含数据库中的重复元素

问题描述

上课。

@Entity
@Table(name="sessions")
@Component
public class Session {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ElementCollection
    private Set<String> addedWords;
}

我的流程是:一次获得会话。向addedWords添加一个单词并保存会话,然后重复。问题是,当我检查数据库时,有很多重复项,同时java类中没有任何重复项。因此,类中的Set<String> addedWords数据库中的单词不相同。为什么我会有这种奇怪的行为,以及如何使事情顺利进行而又没有重复?我使用Postgresql。保存方式:

public synchronized void addWord(Session session,String word) {
        session.getAddedWords().add(word);
        sessionRepository.save(session);
}

这里是弹簧配置

spring:
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)