V
Verus
Gast
Moin,
ich veruche mich gerade mit Hibernate und habe dabei folgendes Problem:
Ich habe zwei Klassen. Die Klasse Protocol ist Bestandteil von User.
Wenn ich User in der Datenbank speichere, dann wird für das Protocol nicht der User referenziert.
Meine Tabellen haben folgenden Aufbau
Die Datenbank sieht danach so aus:
Wenn ich jetzt ein User-Objekt anlege und dem ein Protocol hinzufüge und das ganze dann speichere, dann wird leider kein Wert für userref eingetragen. Dieser wird aber benötigt, wenn Daten aus der Datenbank gelesen werden.
Wie bekomme ich das hin, dass auch die userref (also die userid) in die Datenbank geschrieben wird?
ich veruche mich gerade mit Hibernate und habe dabei folgendes Problem:
Ich habe zwei Klassen. Die Klasse Protocol ist Bestandteil von User.
Wenn ich User in der Datenbank speichere, dann wird für das Protocol nicht der User referenziert.
Code:
@Entity
@Table(name="user2")
public class User
{
@Id
@GeneratedValue
@Column(name="userid")
private int id;
private String name = "";
@OneToMany(mappedBy="user", cascade= CascadeType.ALL)
private List<Protocol> m_protocols = new Vector<Protocol>();
...
}
Code:
@Entity
public class Protocol
{
@Id
@GeneratedValue
private int id;
private byte[] protocol;
private Timestamp creationDate;
@ManyToOne
@JoinColumn(name = "userref")
private User user;
...
}
Code:
user2(userid, name)
protocol(id, protocol, creation_date, userref)
Code:
User user = new User("test2");
byte[] bytes = new byte[...];
Timestamp t = ...
...
Protocol p = new Protocol(t, bytes);
user.addProtocol(p);
...
session.save(user);
Code:
user2
1, 'test2'
protocol
1, 2008-04-07 10:38:41.52+02, <binär Daten>, <leer>
Wenn ich jetzt ein User-Objekt anlege und dem ein Protocol hinzufüge und das ganze dann speichere, dann wird leider kein Wert für userref eingetragen. Dieser wird aber benötigt, wenn Daten aus der Datenbank gelesen werden.
Wie bekomme ich das hin, dass auch die userref (also die userid) in die Datenbank geschrieben wird?