Ich arbeite mit spring MVC``Spring security
hibernate
Wie Hibernate Annotationen OnetoOne im Frühjahr verwendenMvc?
I 2 Tabellen in der Datenbank erstellt haben, das ist das Schema:
create table user(
id int(10),
name VARCHAR(30) NOT NULL,
address VARCHAR(30) NOT NULL,
PRIMARY KEY (id)
);
create table compte(
id int(10),
login VARCHAR(30) NOT NULL,
password VARCHAR(30) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (id) REFERENCES user(id)
);
Ich bin für die Nutzer Managements eine Web-Anwendung zu entwickeln, der Administrator des Benutzers Informationen hinzufügen und senden (Daten aus dem ersten Formular werden in die Datenbank user
eingefügt) und dann in einem anderen JSP fügt er die Authentifizierungsdaten für diesen Benutzer hinzu und sendet (hier werden Daten in die zweite Datenbank eingefügt
Das Formular in der JSP-Seite, das in die Tabelle user
eingefügt wird, wird korrekt ausgeführt, wenn es nicht mit einer anderen Tabelle verknüpft ist. Aber als ich versuchte, Hibernate Annotations in meiner Anwendung zu verwenden und kommen Sie mit den beiden Tabellen user
und compte
Ich habe Fehler:
Caused by: org.hibernate.AnnotationException: Unknown mappedBy in: com.package.domain.User.compte, referenced property unknown: com.package.domain.Compte.User
user.java:
@Entity
@Table(name = "user")
public class User {
@Id
@Column(name="id")
private int id;
@Column(name="name")
private String name;
@Column(name="address")
private String address;
@OneToOne(mappedBy="User", cascade=CascadeType.ALL)
private Compte compte;
//getters and setters
compte.java:
@Entity
@Table(name = "COMPTE")
public class Compte {
@Id
@GeneratedValue
@Column(name = "id")
private int id;
@Column(name = "login")
private String login;
@Column(name = "password")
private String password;
@OneToOne
@PrimaryKeyJoinColumn
private User user;
//getters and setters
Ich weiß nicht, wie sollte ich compte
Daten in die zweite Tabelle einfügen? Wie erkennt man, dass der Login und das Passwort der gerade eingefügten Benutzer-ID entsprechen?
PS: i 2 Tabellen in der Datenbank erstellt hat, den zweiter für die Authentifizierung in spring security
zu verwenden, wenn mein Datenbankdesign mir falsch ist bitte sagen :)