Org.Hibernate.AnnotationException:没有为实体指定标识符我的表中没有 id

2022-01-18 00:00:00 java spring-mvc Hibernate jpa spring-data

我正在使用数据库中的一个表,并且该表没有主键或具有可以充当主键的唯一值的正确列,我无权更改该表.

I'm working with a table in a database and that table don't have a primary key or a proper column whith a unique value who can act as a primary key, I don't have permissions to alter that table.

我该怎么办?我尝试将@id 注释放在一个随机列中并且它有效,但我不知道这是否会在以后带来任何麻烦.我该怎么办?

What should I do? I tried putting a @id annotation in a random column and it worked, but I don't know if this is going to bring any trouble later on. what can I do?

我的班级

@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;
}

推荐答案

我遇到了这个问题并且为 @id 使用了错误的导入:

I had this problem and was using the wrong import for @id:

确保它是:

import javax.persistence.Id;

而不是:

import org.springframework.data.annotation.Id;

相关文章