Hallo zusammen ich habe in meinem HibernateTestprojekt 3 Klassen.
Es muss folgendes passieren:
Ich habe (erstmal) 3 Verschiedene RoadTypen, d.h die Tabelle ROAD_TYPE soll 3 Einträge haben.
Wenn ich ein Objekt DBIncident in die DB speichere so soll fuer DBRoad nur die ID aus der Tabelle ROAD_TYPE genommen werden. Stattdessen werden bei mir jedesmal neue Einträge in die Tabelle ROAD_TYPE geschrieben... wie schaffe ich dass die ID automatisch aus der Tabelle ROAD_TYPY genommen wird.?
Ich habe versucht die Hibernate Dokumentation zu lesen, aber die ist ja eine null-lösung für Anfänger...
danke schon mal!

Java:
@Entity
@Table(name = "INCIDENT")
public class DBIncident implements Serializable {
private static final long serialVersionUID = -4424760023780990894L;
@Id
@GeneratedValue
@Column(name = "ID")
private Long id;
@Column(name = "DESCRIPTION", columnDefinition = "LONGTEXT")
private String description;
@OneToOne(cascade = CascadeType.ALL, optional = false)
private DBRoad road;
@Column(name = "DURATION_FROM")
private Date dateFrom;
@Column(name = "DURATION_TILL")
private Date dateTill;
@OneToOne(cascade = CascadeType.ALL, optional = false)
private DBLocation mainLocation;
@OneToOne(cascade = CascadeType.ALL, optional = false)
private DBLocation locationFrom;
@OneToOne(cascade = CascadeType.ALL, optional = false)
private DBLocation locationTo;
@Column(name = "LENGTH")
private Double length;
@Column(name = "STATUS_ACTIVE")
private Boolean status;
//getter/setter...
}
Java:
@Entity
@Table(name = "LOCATION")
public class DBLocation implements Serializable{
private static final long serialVersionUID = -4204049626973488449L;
@Id
@GeneratedValue
@Column(name = "ID")
private Long id;
@Column(name = "DESCRIPTION")
private String description;
@Column(name = "LATITUDE")
private Double latitude;
@Column(name = "LONGITUDE")
private Double longitude;
}
Java:
@Entity
@Table(name = "ROAD_TYPE")
public class DBRoad implements Serializable {
private static final long serialVersionUID = 3438959442923344472L;
@Id
@GeneratedValue
@Column(name = "ID")
private Long id;
@Column(name = "TYPE")
private String type;
@Column(name = "NR")
private Long number;
}
Ich habe (erstmal) 3 Verschiedene RoadTypen, d.h die Tabelle ROAD_TYPE soll 3 Einträge haben.
Wenn ich ein Objekt DBIncident in die DB speichere so soll fuer DBRoad nur die ID aus der Tabelle ROAD_TYPE genommen werden. Stattdessen werden bei mir jedesmal neue Einträge in die Tabelle ROAD_TYPE geschrieben... wie schaffe ich dass die ID automatisch aus der Tabelle ROAD_TYPY genommen wird.?
Ich habe versucht die Hibernate Dokumentation zu lesen, aber die ist ja eine null-lösung für Anfänger...
danke schon mal!