在我们的项目中,我们有一个实体类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文档,and
在这里被视为方法谓词关键字。
是否有办法使Spring Data JPA将travelDistanceAndTimeId
视为一个字段,并禁用& &;此查询的方法关键字?
就像Popeye说的,考虑使用本地查询:
@Query(value = "SELECT <columns> FROM <TableName> WHERE travelDistanceAndTimeId=?1", nativeQuery = true)
public <returnType> findByTravelDistanceAndTimeId(long travelDistanceAndTimeId);