我到处搜索,似乎这个问题的几乎所有答案都告诉我用@Id注释我的id属性或getter。我都试过了,完全没有运气。这是我的整个课程都失败了:http: //pastebin.com/Cpsdx2Rj ,以下是我的例外: http: //pastebin.com/uhs9e81b
正如我所说,我已经尝试将@Id devorator 移至该属性,但这似乎根本没有做任何事情。
关于尝试什么的任何建议?调试还需要其他配置文件吗?
提前感谢您提供的任何帮助!
我到处搜索,似乎这个问题的几乎所有答案都告诉我用@Id注释我的id属性或getter。我都试过了,完全没有运气。这是我的整个课程都失败了:http: //pastebin.com/Cpsdx2Rj ,以下是我的例外: http: //pastebin.com/uhs9e81b
正如我所说,我已经尝试将@Id devorator 移至该属性,但这似乎根本没有做任何事情。
关于尝试什么的任何建议?调试还需要其他配置文件吗?
提前感谢您提供的任何帮助!
您是否尝试在类定义之前添加@Access(AccessType.PROPERTY)以将默认访问类型从字段更改为 getter 方法
像这样:
import javax.persistence.AccessType;
@Entity
@Access(AccessType.PROPERTY)
public class Comment implements DomainEntity {
private Long id;
@Id
@Column (name="id",unique=true,nullable=false)
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return this.id;
}
.
.
.
}
您应该注释变量本身,而不是 getter。
我没有找到解决方案,但从另一台计算机上的测试来看,版本不匹配(另一天的另一个问题)显然不是造成这种情况的原因。我删除了我的工作区、我的 m2-cache,重新导入了项目并重新下载了所有依赖项,现在它突然可以工作了(Spring 版本问题等等)。
谢谢大家的帮助。