开发者社区> 问答> 正文

关于Spring Date Jpa 操作数据表的时候unique无效了?:配置报错 

@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 操作的时候能插入成功? 名字明显是表示唯一了,为什么还可以插入呢? 这是问为什么?

展开
收起
kun坤 2020-06-04 10:23:35 660 0
1 条回答
写回答
取消 提交回答
  • 然而数据库字段确不唯一,JPA的unique注解没有生效 ######T_T 啥意思啊,没看明白。###### @Table(name = "C_User",uniqueConstraints={@UniqueConstraint(columnNames={"UserName"})}) 
    设置依然无效= = 我发现在MYSQL中会出现问题,ORCL是没有问题的。

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

    2020-06-04 11:20:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载