DB aşağıdaki şemayı var (basitleştirilmiş)Herhangi bir ilişki tanımlamaksızın bir alandaki bir alanı eşlemek mümkün mü?
MainTable(
ID primary key
SOMEFIELD
CODE_FK1 -- references OtherTable1 CODE (without declared foreign key)
CODE_FK2 -- references OtherTable2 CODE (without declared foreign key)
... Other fields used
)
OtherTable1(
CODE primary key
LABEL
... other fields not used
)
OtherTable2(
CODE primary key
LABEL
... other fields not used
)
doğrudan yani benim diğer tablolar olmadan gelen etiketler kullanmak için ana tablo için benim Varlığı tanımlamak için herhangi bir yolu yoktur diye soruyorum Bu diğer tablo için varlıkları tanımlamak.
Gerçekten çok korkunç olan DB şemasını değiştiremiyorum (her yerde, katları tablolarda tanımlanmış olan etiketler/kod çiftleri var). Ve eğer mümkün olsaydı, bu çözüm benim diğer kodlara gerçekten ihtiyaç duymadığımdan, kodumu basit tutar.
Ben böyle bir şey neden olur tahmin:
@Entity
public class MainEntity{
@Id
private Integer ID;
@Column(name="SOMEFIELD")
private String SomeField;
@SomeAnnotation to Join CODE_FK_1 with OtherTable1.CODE
@SomeAnnotation like @Column(name="LABEL", table="OtherTable1")
private String Label1;
@SomeAnnotation to Join CODE_FK_1 with OtherTable1.CODE
@SomeAnnotation like @Column(name="LABEL", table="OtherTable1")
private String Label1;
}
peşin ederek yardım!
Gerçekten bu ile varlık düzeyi ilişkileri JPA (ile mümkün olduğu takdirde şüphe diğer varlıklar tanımlanmış, alanların birleşik birimlerde nasıl edinileceği değil). Bu iki seçeneği düşündünüz mü: a) tüm ilgili tabloları JPA varlıkları ile eşleştirin ve ihtiyacınız olduğunda sorgulama yapın; b) DB etkileşimi fazla değilse, hayatı kolaylaştırmak için JDBC kullanın? –