错误分析:No identifier specified for entity: com.b505.bean.UserRole以及jpa自动创建没有主键的bean类

在使用jpa自己建表功能的时候,出现了这个错误,其实很简单,就是因为创建的bean类中没有主键,添加上就可以了。

@Entity
@Table(name="user_role")
public class UserRole {

	@Column(name="nickName")
	private String nickName;
	private int roleId;

但是如何你本身就不想在这个里面创建主键,那就采用@MappedSuperclass方法,使用这个注解的时候需要将@Entity注解去掉。

但是需要以下三点注意事项:

@MappedSuperclass注解只能标准在类上。

2.标注为@MappedSuperclass的bean类将不是一个完整的实体类,他将不会映射到数据库表,但是他的属性都将映射到其子类的数据库字段中。

3.标注为@MappedSuperclass的bean类不能再标注@Entity或@Table注解,也不需要实现序列化接口。

以下是代码,可以创建没有主键的实体。

@MappedSuperclass
@Table(name="user_role")
public class UserRole {

	@Column(name="nickName")
	private String nickName;
	private int roleId;


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值