我有这个豆:
@Entity
@Table(name = "accesos")
public class Acceso implements Serializable {
/** */
@Column(name = "idUser")
private String idUser;
/** */
@ManyToOne
@JoinColumn(name = "idArea")
private Area area;
/** */
@ManyToOne
@JoinColumn(name = "idRol")
private Rol rol;
Run Code Online (Sandbox Code Playgroud)
但是我得到这个错误:
原因:org.hibernate.AnnotationException:未为实体指定标识符:com ... Acceso
我该如何设置这个豆?我需要的是根据用户ID获取他有权访问的所有ROL-AREA。
我尝试将更@Entity改为@Embedded,但是当我进行搜索时没有返回任何结果,即使在日志中也没有执行SQL语句。
您必须为每个bean拥有一个标识,没有办法。但是,如果您的字段都不是唯一的,则可以使用组合键。
如果您的所有字段的组合是唯一的,然后尝试注释的所有字段与@Id。尽可能少的字段,但要使组合唯一则需要尽可能多的字段。
sla*_*rge -2
您没有指定 id,因此必须将 @Id 注释添加到 idUser
@Id
@Column(name = "idUser")
private String idUser;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14980 次 |
| 最近记录: |