私は、データベース内の2つのテーブル、このスキーマに作成したspring MVC``Spring security
hibernate
springMvcでOnetoOneのhibernateアノテーションを使用する方法は?
で働いている:私は、管理者がユーザーの情報を追加し、ユーザーの経営者のためのWebアプリケーションを開発してい
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)
);
を(最初のフォームからのデータはuser
データベースに挿入されます)、その後、他のJSPでは、このユーザーの認証データを追加して提出します(compte
にデータが挿入されます)
user
のテーブルに挿入されるjspページのフォームは、他のテーブルに結合されていないときに正しく実行されます。 しかし、私は自分のアプリケーションでのHibernateのアノテーションを使用して2つのテーブルを結合するためにしようとしたときuser
とcompte
I持っているエラー:
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
compte
データを2番目のテーブルに挿入する方法を知りませんか?ログインとパスワードが挿入されたばかりのユーザーのIDに対応していることをどのように認識するのでしょうか。
PS:私のデータベース設計が誤っている場合、私はspring security
に認証のための第二を使用するようにデータベースに2つのテーブルを作成しました教えてください:)