关于Spring Date Jpa 操作数据表的时候unique无效了?

z201 发布于 2016/05/13 03:59
阅读 879
收藏 0
@Getter
@Setter
@Entity
@Table(name = "C_User")
@MetaData(value = "系统用户")
@JsonInclude(Include.NON_EMPTY)
@XmlAccessorType(XmlAccessType.PROPERTY)
public class SysUser implements Serializable{
	
	private static final long serialVersionUID = 1L;

	@MetaData("主键")
	@Id
	@GenericGenerator(name = "system-uuid", strategy = "org.hibernate.id.UUIDGenerator")
	@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "system-uuid")
	@Column(unique = true, length = 36, nullable = false)
	private String id; 
	
	@MetaData("用户名")
	@Column(name="UserName",unique=true)
	private String UserName;
	
	@MetaData("密码")
	@Column(name="PassWord")
	private String PassWord;
	
	@MetaData("角色")
	@OneToMany(mappedBy="User",cascade = CascadeType.ALL,orphanRemoval=true)
	private Set<SysRole> allRole = new HashSet<SysRole>();

这是实体,使用Spring Date Jpa的接口操作,save和saveAndFlush 操作的时候能插入成功?

名字明显是表示唯一了,为什么还可以插入呢?

这是问为什么?




加载中
0
Leoops
Leoops

然而数据库字段确不唯一,JPA的unique注解没有生效

z201
z201
T_T 啥意思啊,没看明白。
0
z201
z201

@Table(name = "C_User",uniqueConstraints={@UniqueConstraint(columnNames={"UserName"})}) 

设置依然无效= = 我发现在MYSQL中会出现问题,ORCL是没有问题的。


0
tianpeng91
tianpeng91
哥们,你的解决没?我也遇到这个问题了,擦。
z201
z201
回复 @tianpeng91 : 我忘记了JPA重建表的时候是否添加唯一标识了。ORM是不是Hibernate。
tianpeng91
tianpeng91
回复 @z201 : 好坑爹,无论我怎样删除表,让jpa自己建,还是没用,非得手动新建
z201
z201
数据库可能存在一定差异,表还是重建吧。
返回顶部
顶部