@Entity
public class B implements Serializable {
@Id
@GeneratedValue
public BigDecimal id;
@MapsId
@ManyToOne
@JoinColumn(name = "id", referencedColumnName = "nonPrimaryRelationId", insertable = false, updatable = false)
public A a;
}
@Entity
public class A implements Serializable {
@Id
@GeneratedValue
public BigDecimal id;
@Column
public BigDecimal nonPrimaryRelationId;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "a")
public Set<B> bs;
}