ssh注解实体关系配置问题
@Entity
@Table(name = "t_user")
public class Users implements Serializable {
@Id
private String user_code = "";// 用户工号
@Column(name = "USER_NAME")
private String user_name = "";// 用户名称
}
@Entity
@Table(name = "t_post")
public class Post implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "POST_ID")
private String postId;//岗位id
@Column(name = "POST_NAME")
private String postName;//岗位名称
}
@Entity
@Table(name = "t_user_post")
public class UserPost implements Serializable {
private static final long serialVersionUID = 1L;
@OneToOne
@JoinColumn(name = "USER_CODE")
private Users user;
@OneToOne
@JoinColumn(name = "POST_ID")
private Post post;
}
以上3张表。一张用户表,一张岗位表,一张用户和岗位的关系表
用户和岗位的表应该怎么配,我现在的配置,No identifier specified for entity老是出这个错。
spring hibernate
[解决办法]
UserPost?这个实体木有id,没有主键,hibernate编译不通过的。
[解决办法]
注解机制就是这样的。必须有主键。
[解决办法]
中间表对象没有id,用户岗位应该是多对多的关系,你这个配置我看起来怎么觉得那么怪异呢。
[解决办法]
@Id
@ManyToOne
@JoinColumn(name = "USER_CODE")
private Users user;
@Id
@ManyToOne
@JoinColumn(name = "POST_ID")
private Post post;
改成这样就可以了。。。
[解决办法]
一楼正解。必须用注解主键。