【发布时间】:2014-11-09 03:44:16
【问题描述】:
我正在使用数据库中的一个表,并且该表没有主键或具有可以充当主键的唯一值的正确列,我无权更改该表。
我该怎么办?我尝试将@id 注释放在一个随机列中并且它有效,但我不知道这是否会在以后带来任何麻烦。我该怎么办?
我的班级
@Entity
@Table(name="my_table")
public class TheTable {
@Column (name="name", nullable=false)
private String name;
@Id <--- I just put this id in this random column but this column should not be a id column
@Column (name="anyfield", nullable=false)
private String anyfield;
}
【问题讨论】:
-
你什么也做不了。 Hibernate 需要一种唯一标识行的方法。而且这个独特的价值可能不会改变。
-
@JBNizet 在休眠中没有办法实现
composite keys -
确保您从
javax.persistence包中注释“Id”?
标签: java hibernate spring-mvc jpa spring-data