I UUID'si dışarıdan verilen A ve Bhazırda @JoinFormula
public class A{
@Id
@GeneratedValue
private Integer id;
private String uuid;
...
}
İki varlık vardır; ID versiyon olarak görülebilir.
Şimdi, B'de A'ya başvurmak isterim ki B'de saklanan uuid'e sahip olur ve otomatik olarak A'yı uuid ve en yüksek kimlikle seçer.
public class B{
@Id
@GeneratedValue
private Integer id;
private String uuidOfA;
@ManyToOne
@JoinFormula(value="SELECT a.id FROM A a WHERE v.uuid = uuidOfA AND v.id = (SELECT max(x.id) FROM A x WHERE x.uuid = v.uuid)", referencedColumnName="id")
private A a;
...
}
Bu B'de A'nın kimliğini içeren bir sütun oluşturur ve bir nesne devam çalışırsanız bir istisna atar: Denedim ne
olduğunu. Ayrıca şanssız @JoinColumnsOrFormulas denedim.
Birisi bana bunun nasıl yapılacağına dair bir ipucu verebilir mi (Hazırda 3.5 btw)?
Teşekkürler!
bunu kabul edin. – ssedano
Evet. Kabul edildi. Ama beklenen bu mu? Buradaki en yüksek kimlik nasıl seçilir? –