如何使用JPA/Hibernate处理数据库中具有唯一约束的多线程插入?

如何使用JPA/Hibernate处理数据库中具有唯一约束的多线程插入?,hibernate,jpa,jboss,synchronization,message-driven-bean,Hibernate,Jpa,Jboss,Synchronization,Message Driven Bean,在消息驱动bean中,我使用唯一的条目将条目持久化到查找表中。基本上,我用CriteriaAPI创建一个select语句,如果找不到条目,我就创建一个 当前,此代码遇到mysql错误,因为在某些情况下,此条目创建(em.persist(entry))会违反数据库上的唯一约束。我的mdb的另一个实例在我找不到查找条目之后,在我创建它之前创建了它 我如何处理这个同步问题,所以仍然只有一个条目?您需要以不同的方式使用或确保唯一性(例如,在Java中生成条目的唯一部分) Hibernate支持,我相信这

在消息驱动bean中,我使用唯一的条目将条目持久化到查找表中。基本上,我用CriteriaAPI创建一个select语句,如果找不到条目,我就创建一个

当前,此代码遇到mysql错误,因为在某些情况下,此条目创建(
em.persist(entry)
)会违反数据库上的唯一约束。我的mdb的另一个实例在我找不到查找条目之后,在我创建它之前创建了它

我如何处理这个同步问题,所以仍然只有一个条目?

您需要以不同的方式使用或确保唯一性(例如,在Java中生成条目的唯一部分)

Hibernate支持,我相信这只是同一事物的另一个名称