Spring jdbcTemplate将常量值传递给查询方法

时间:2017-11-03 06:58:54

标签: java spring spring-data-jpa jdbctemplate

是否可以在函数中提及值为常量。我有一个实体说,EntityClass。然后是它上面的存储库接口,比如说

interface EntityClassRepository extends CrudRepository<EntityClass, String> {

List<EntityClass> findById(String id);
}

我可以在方法中硬编码某些值,例如

List<EntityClass> findByIdAndActiveFlagAsY(String id);

仅查询活动标志列的值为'Y'的那些。

有可能吗?

1 个答案:

答案 0 :(得分:0)

不,Spring数据不支持方法名称中的 AS 关键字,您可以检查所有Supported keywords inside method names

Supported keywords CrudeRepository

因此,要解决您的问题,您可以使用自定义查询:

@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);