【发布时间】:2020-07-22 10:53:11
【问题描述】:
我想对枚举列执行like 查询,如下所示:
@Repository
public interface StudentRepository extends JpaRepository<Student, String>
{
@Query("SELECT u FROM Student u WHERE u.house LIKE :namePrefix% ")
Page<Student> getStudentWithMatchingHouseNamePrefix(@Param("namePrefix")
String namePrefix,
Pageable pageable);
}
Student实体如下:
@Entity
@Table(name = "students")
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@NotNull
@Enumerated(EnumType.STRING)
@Column(name = "house", unique = true, nullable = false)
private House house;
...
}
我无法理解如何在不修改基础实体的情况下编写查询。
编辑
现在我正在编写如下查询:
@Query("SELECT u FROM Student u WHERE CONCAT(u.house,'') LIKE :namePrefix%")
但即使房子有多个条目,我得到所有查询的空列表。
【问题讨论】:
标签: mysql hibernate jpa spring-data-jpa