I developping bin eine Webapp (Frühjahr J2EE/AngularJS)Frühling Daten: Problem mit OneToOne Beziehung
ich eine Beziehung zwischen zwei Entitäten festlegen möchten:
Bürger (id, Vorname, Stadt)
Stadt (id , cityName)
Ein Bürger lebt in nur einer Stadt.
Ich muss eine Stadt von einem Bürger finden. Ich brauche keinen Bürger aus einer Stadt zu finden.
Ich habe getan, dass:
@Entity
@Table(name = "citizen")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Citizen implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "last_name")
private String lastName;
@OneToOne
private City city;
}
@Entity
@Table(name = "city")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class City implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "city_name")
private String cityName;
}
In Datenbank I Daten eingefügt haben. Citizen 1, 2 und 3 verbunden sind, zum Ort 1 und Citizen 4 ist mit City 2
verknüpftWenn ich versuche, alle Bürger zu laden, erhalte ich die Fehlermeldung: Mehr als eine Zeile mit dem angegebenen Identifikator gefunden wurde: 1, für Klasse: com.myApp.rh.domain.Citizen
Was ist falsch in meinen Entitäten?
Dank
Da man 'City' viele haben' Citizen', bitte ändern Sie ihn auf 'ManyToOne' statt' OneToOne' auf der 'Privat-Stadt,' und versuchen. Kannst du auch deine Logik zeigen, um alle Bürger, die du benutzt, zu laden? –