我有一张有两列user_id
和的表格role_id
。表中没有唯一列,我无法添加一列。如何创建Entity
和Repository
在春季没有主键?
这是我的UserRole.class
public class UserRole {
@Column(name = "user_id")
private int userId;
@Column(name = "role_id")
private int roleId;
//getters and setters
}
但是有了这个类,我得到以下错误:
嵌套的异常是org.hibernate.AnnotationException:未为实体指定标识符:
我看到答案之一是将所有列都用作ID,但是我不知道该怎么做。
请参阅这篇文章中的遮篷。这应该对您有帮助。
另一个选择是,如果这是一个联接表,则可以进行Embeded PK
@Embeddable
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
public class PersonGroupPK implements Serializable {
//default serial version id, required for serializable classes.
private static final long serialVersionUID = 1L;
@Column(insertable=false,unique = false, updatable=false, nullable=false)
private Long personId;
@Column(insertable=false, unique = false,updatable=false, nullable=false)
private Long groupId;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句