2016-05-17 14 views
0

Ich versuche, mehrere Zeitstempel in die Tabelle "Zeit" einzufügen. Jeder Zeitstempel enthält die ID eines Eintrags in der Tabelle "Wettbewerber". Jedes Mal, wenn ich einen neuen Zeitstempel in meiner Datenbank erstelle, erhalte ich auch einen neuen Wettbewerbereintrag.Hibernate führt keinen Eintrag

Können Sie mir bitte sagen, warum ich immer einen neuen Eintrag bekomme und wie kann ich das verhindern?

Wettbewerber

@Entity 
@Table(name="competitor") 
public class Competitor extends BaseEntity{ 

    private String firstName; 
    private String lastName; 
    private String birthday; 

    @Column(name="firstName") 
    public String getFirstName() { 
     return firstName; 
    } 
    public void setFirstName(String firstName) { 
     this.firstName = firstName; 
    } 

    @Column(name="lastName") 
    public String getLastName() { 
     return lastName; 
    } 
    public void setLastName(String lastName) { 
     this.lastName = lastName; 
    } 

    @Column(name="birthday") 
    public String getBirthday() { 
     return birthday; 
    } 
    public void setBirthday(String birthday) { 
     this.birthday = birthday; 
    } 
} 

Zeit

@Entity 
@Table(name="time") 
public class Time extends BaseEntity{ 

    private String route; 
    private Competitor competitor; 
    private String time; 

    @Column(name="route") 
    public String getRoute() { 
     return route; 
    } 
    public void setRoute(String route) { 
     this.route = route; 
    } 

    @ManyToOne(cascade = CascadeType.ALL) 
    public Competitor getCompetitor() { 
     return competitor; 
    } 
    public void setCompetitor(Competitor competitor) { 
     this.competitor = competitor; 
    } 

    @Column(name="time") 
    public String getTime() { 
     return time; 
    } 
    public void setTime(String time) { 
     this.time = time; 
    } 

} 
+1

Wenn Sie eine eine vorbestehende 'Competitor' zuordnen möchten' Time 'Entity, müssen Sie zunächst 'Competitor' zuerst abrufen und dieses abgerufene Objekt auf das Objekt 'Time' setzen. – Priyesh

Antwort

1

Sie benötigen die @OneToOne Anmerkung, zum Beispiel:

@OneToOne 
@JoinColumn(name = "competitor_id") 
private Competitor competitor; 
+0

Thangs für deine Hilfe;) jetzt funktioniert es –

Verwandte Themen