【发布时间】:2019-11-19 12:25:54
【问题描述】:
我有三个实体。 (我在这个例子中使用 xxx 作为占位符)
我已经用
设置了他们所有的@Entities
@Entity
@Table(name = "xxx")
public class xxx {
@Id
@Column(name = "xxx_id")
int xxx_id;
但是,我能够做到:
findById(int ...) 仅适用于其各自存储库中的一个实体。
当我尝试对其他两个实体执行此操作时,我遇到了这个问题:
“派生查询无效!找不到类型 xxx 的属性 ID!”
我能够运行它并获得正确的结果。但是,为什么我会在两个实体而不是另一个实体上收到此错误?
我以完全相同的方式设置实体及其存储库。
唯一的区别是在其存储库不返回任何错误的实体中,我将该实体与另一个存储库失败的实体连接起来,但我在@JoinColumns 部分使用了 "mappedBy"。
这可能与为什么那个人没有问题有关吗?
【问题讨论】:
-
findById方法需要在实体类中有一个名为id的字段。但是在您的xxx课程中,您有xxx_id,而不是id。
标签: spring postgresql hibernate spring-boot jpa