2016-06-07 12 views
0

Ich habe eine Datenbank mit 2 Tabellen: Haus und Cottage. Jede Tabelle hat eine ID-Spalte, die den Primärschlüssel enthält. Der Cottage-Tisch hat eine Spalte "HouseID", die einen Fremdschlüssel zum House-Datensatz enthält.JPA - Include-Entity ohne ID-Spalte

Jetzt, in meiner House-Entity-Klasse, muss ich das Cottage-Objekt hinzufügen.

Wie beschrifte ich das Cottage-Objekt in der House-Entity-Klasse, um die Informationen aufzunehmen. Muss ich zusätzliche Anmerkungen in der Entitätsklasse Cottage hinzufügen?

Ist das ausreichend?

@OneToOne(fetch = FetchType.EAGER) 
private Cottage cottage; 

Die Haustabelle enthält keinen Fremdschlüssel zum Cottage-Tisch.

Thanx

Antwort

1

Sie sollten @JoinColumn dem Unternehmen Haus hinzufügen

@OneToOne(fetch = FetchType.EAGER) 
@JoinColumn(name="HouseID") 
private Cottage cottage; 

Name sollte der Name der referenzierten Tabellenspalte sein

1

Sie müssen die Fremdschlüssel mit der @JoinColumn Anmerkung definieren:

@OneToOne(fetch = FetchType.EAGER) 
@JoinColumn(name = "HOUSE_ID") 
private Cottage cottage; 

Die "HOUSE_ID" ist der tatsächliche Name der DB-Säule, keine Java-Eigenschaft.

Verwandte Themen