我打算在我的项目中集成ORM,所以我使用eclipse的JPA项目从旧数据库中生成实体类。在生成的总共168个实体类中,它很好。但在某些约束中,nullable
,unique
不会自动生成。
例如我需要这样的东西: -
@Column(name="USER_NAME",unique = true)
private String userName;
但在自动生成实体之后,代码中没有唯一约束。我怎样才能做到这一点?
任何建议都会有用。
答案 0 :(得分:2)
答案 1 :(得分:1)
@Unique表示一个唯一索引,用于阻止索引字段中的重复值。 如果不同的实体在唯一字段中具有相同的值(类似于主键的行为方式),则会在提交(或刷新)时抛出PersistenceException。 在你的例子中:
@Unique
@Column(name="USER_NAME")
private String userName;

答案 2 :(得分:1)
只有在创建表时才会创建唯一约束。如果表已存在,则在DDL更新期间仅添加新列。因此,您必须手动删除表格或将javax.persistence.schema-generation.database.action
的值设置为drop-and-create
。
答案 3 :(得分:1)