是否可以在函数中提及值为常量。我有一个实体说,EntityClass。然后是它上面的存储库接口,比如说
interface EntityClassRepository extends CrudRepository<EntityClass, String> {
List<EntityClass> findById(String id);
}
我可以在方法中硬编码某些值,例如
List<EntityClass> findByIdAndActiveFlagAsY(String id);
仅查询活动标志列的值为'Y'
的那些。
有可能吗?
答案 0 :(得分:0)
不,Spring数据不支持方法名称中的 AS 关键字,您可以检查所有Supported keywords inside method names:
因此,要解决您的问题,您可以使用自定义查询:
@Query("from EntityClass e WHERE id = :id AND ActiveFlag = 'Y'")
public List<EntityClass> findByIdAndActiveFlagAsY(@Param("id") String id);
或者您可以使用Equals
关键字,但您应该在方法中发送值:
@Query("from EntityClass e WHERE id = :id AND ActiveFlag = :flag")
public List<EntityClass> findByIdAndActiveFlagEquals(@Param("id") String id, @Param("flag") String flag);