【发布时间】:2021-12-08 00:28:13
【问题描述】:
在我们的项目中,我们有一个实体类Employee,看起来像这样:
@Entity
class Employee {
...
long travelDistanceAndTimeId;
...
}
我们现在想使用 Spring Data JPA 来查找具有特定travelDistanceAndTimeId 的所有员工,因此我们的 EmployeeRepository 如下所示:
interface EmployeeRepository extends Repository<Employee, Long> {
List<Employee> findByTravelDistanceAndTimeId(long travelDistanceAndTimeId);
}
但是,这失败了,因为 Spring Data JPA 认为此方法应查找具有给定 travelDistance 和给定 timeId 的员工,因为根据 Spring Data JPA documentation,and 被视为方法谓词关键字在这里。
有没有办法让 Spring Data JPA 将 travelDistanceAndTimeId 视为一个字段,并为此查询禁用“AND”方法关键字?
【问题讨论】:
-
你的字段
travelDistanceAndTimeId是什么?如何将“travelDistance”和“TimeId”保存在一个 Long 字段中?我希望有 2 个字段,travelDistance和timeId -
@Willem 与问题无关。
-
用
@Column(name="TravelDistanceAndTimeId")注释字段,并命名不带 andlong TravelDistanceTimeId;的 java 字段,然后将方法命名为findByTravelDistanceTimeId参见 stackoverflow.com/questions/41296713/… -
@Willem,您可以将其视为对
TraveDistanceAndTime实体的引用,但我的问题并非针对此示例。
标签: java spring-boot spring-data-jpa spring-data