在用户名或用户电子邮件等属性下添加 @Id 注释是一种好习惯吗?

例如,当您@Id为 id 以外的其他字段设置属性时,可能会发生哪些复杂情况?


@GeneratedValue(strategy=GenerationType.AUTO)

@Column(name="user_id")

private Integer user_id;


@Id

@Size(min=6,message="email is too short")

@Pattern(regexp = "^.+@.+\\..+$",message="invalid email")

@Column(name="user_email")

private String user_email;

在我的用户 pojo 类中:如果我没有定义 id 注释,user_id而是为user_email,从长远来看会造成任何并发症吗?


慕姐4208626
浏览 149回答 2
2回答

慕少森

这是不好的做法。电子邮件可能会改变,但主键(这是@Id注释)永远不应该改变。用户名也可能会改变,例如在这个网站上。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java