Hallo,
so endlich passiert auch mal was bei meiner Anwendung.
Ich habe zwei Tabellen.
User:
-User_id
-LoginName
-LoginPassword
-Mail
-RegisterDate
-Person_ID
Person:
-Person_ID
-Name
-FirstName
-Birthday
Entsprechend der Tabellen habe ich zwei Klassen Person und User. Nun möchte ich Objekte dieser Klassen in die Datenbank eintragen. Ich habe dazu eine Registrierungsseite erstellt, welche die Eigenschaften füllt.
Mit der Methode register() stoße ich dann das Registrieren an und es funktioniert sogar fast. Es wird jeweils ein Datensatz je Tabelle angelegt, allerdings ist das Feld Person_ID in der Tabelle User leer. Ich denke hier fehlt noch irgendwas bei den Annotations. Könnt Ihr mir da noch mal helfen?
Gruß hyperion
so endlich passiert auch mal was bei meiner Anwendung.
Ich habe zwei Tabellen.
User:
-User_id
-LoginName
-LoginPassword
-RegisterDate
-Person_ID
Person:
-Person_ID
-Name
-FirstName
-Birthday
Entsprechend der Tabellen habe ich zwei Klassen Person und User. Nun möchte ich Objekte dieser Klassen in die Datenbank eintragen. Ich habe dazu eine Registrierungsseite erstellt, welche die Eigenschaften füllt.
Mit der Methode register() stoße ich dann das Registrieren an und es funktioniert sogar fast. Es wird jeweils ein Datensatz je Tabelle angelegt, allerdings ist das Feld Person_ID in der Tabelle User leer. Ich denke hier fehlt noch irgendwas bei den Annotations. Könnt Ihr mir da noch mal helfen?
Java:
@Entity
public class Person implements Serializable{
@Id
@Column(name = "ID", nullable = false)
@GeneratedValue(strategy=GenerationType.AUTO)
@NotNull
private Integer id;
@Column(name = "Name", nullable = false)
@NotNull
private String name;
@Column(name = "FirstName", nullable = false)
@NotNull
private String firstName;
@Column(name = "Birthday", nullable = true)
@Temporal(javax.persistence.TemporalType.DATE)
@Past
private Date birthday;
public Person(){
}
...Getter und Setter...
}
Java:
@Entity
@Table(name="User")
@SequenceGenerator(name="ID", initialValue=1, allocationSize=1)
public class User implements Serializable{
@Column(name = "ID", nullable = false)
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@NotNull
private int id;
@Column(name = "LoginName", nullable = false)
@NotNull
private String loginName;
@Column(name = "LoginPassword", nullable = false)
@NotNull
private String loginPassword;
@NotNull
@OneToOne
@JoinColumn(name="Person_ID")
private Person person;
@Column(name = "Mail", nullable = false)
@NotNull
private String mail;
@Column(name = "RegisterDate", nullable = false)
@Temporal(javax.persistence.TemporalType.DATE)
@NotNull
private Date registerDate;
...Getter und Setter...
}
Gruß hyperion