【发布时间】:2016-03-08 05:22:49
【问题描述】:
我只是无法让我的两个类之间的关系通过 Hibernate 映射到 SQL 表。
角色类:
@Entity
@Table(name = "role")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
private int id;
@Column(name="name")
private String name;
@OneToMany(mappedBy="memberinfo")
private Set<Memberinfo> members;
...
}
还有 Memberinfo 类:
@Entity
@Table(name = "memberinfo")
public class Memberinfo {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id", nullable = false)
private int id;
@Column(name = "userid", nullable = false)
private String userid;
@Column(name = "email", nullable = false)
private String email;
@Column(name = "password", nullable = false)
private String password;
@Column(name = "salt", nullable = false)
private String salt;
@Column(name = "name", nullable = false)
private String name;
@Column(name = "address")
private String address;
@Column(name = "phonenum")
private String phonenum;
@ManyToOne(targetEntity=Role.class)
@JoinColumn(name="role_id")
private Role role;
...
}
当我尝试从数据库中获取数据时,它会连接,但会引发异常: “HTTP 状态 500 - model.Memberinfo.role 上的 @OneToOne 或 @ManyToOne 引用了未知实体:model.Role”。
如果我删除变量“角色”,那么它可以工作,我可以获取成员数据,但我需要两个表之间的连接,但是在这种情况下,每次都会出现前面提到的异常。
到目前为止,没有其他关于 stackoverflow 的解决方案对我有用。
知道我做错了什么吗?
【问题讨论】:
标签: java mysql hibernate exception servlets