我正在按架构使用租户,并且我具有以下实体:
@Entity
@Multitenant(MultitenantType.TABLE_PER_TENANT)
@TenantTableDiscriminator(type = TenantTableDiscriminatorType.SCHEMA)
public class Person {
@OneToOne(mappedBy = "person", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private CTPS ctps;
}
@Entity
@Table(name = "CTPS")
@Multitenant(MultitenantType.TABLE_PER_TENANT)
@TenantTableDiscriminator(type = TenantTableDiscriminatorType.SCHEMA)
public class CTPS {
@OneToOne
@JoinTable(name = "PERSON_CTPS", joinColumns = @JoinColumn(name = "CTPS_ID"), inverseJoinColumns = @JoinColumn(name = "PERSON_ID"))
private Person person;
}
在同时使用两个不同的承租人进行更新的过程中,在一个请求中发生密钥冲突错误,因为tenant_a试图使用tenant_b在person_ctps表中执行插入。
我正在使用:postgresql-9.4.5-3 wildfly-8.2.0 EclispeLink 2.6.3,其中包含问题410870和493235的补丁。
有人知道如何解决这个问题吗?
我发现了问题。维护关系表的对象未在EclipseLink中克隆。
使用问题498891的附件补丁,解决了该问题
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句