【发布时间】:2016-01-12 09:09:27
【问题描述】:
我在 ProjectRepository 中有一个方法,看起来像这样:
findByUserID(int userID);
这将列出引用某个用户的所有项目。由于其他要求,我现在需要从项目中引用用户,而不仅仅是用户 ID,如下所示:
@ManyToOne
@JoinColumn(name = "userID", referencedColumnName = "userID")
private User user;
过去只是:
int userID;
所以我将方法替换为:
findByUser(User user);
但这需要额外调用数据库来获取给定用户 ID 的用户对象。有没有办法在我的新课程中使用第一种方法?如果我只保留第一种方法,我会得到一个
org.springframework.data.mapping.PropertyReferenceException: No property ID found for type User! Traversed path: Project.user.
如果不编写自定义查询,这可能吗?
【问题讨论】:
-
User 的 ID 属性名称是什么?
-
我所有的ID都使用约定:classNameID;例如用户 ID
标签: java spring jpa spring-data