是否可以在函数中将值指定为常量。我有一个实体,EntityClass。然后是一个存储库接口(interface),比如
interface EntityClassRepository extends CrudRepository<EntityClass, String> {
List<EntityClass> findById(String id);
}
我可以在方法中硬编码一些值,例如,
List<EntityClass> findByIdAndActiveFlagAsY(String id);
仅查询 Activity 标志列值为'Y'
的那些。
可能吗?
最佳答案
不,Spring Data不支持方法名称中的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);
关于java - Spring jdbcTemplate 将常量值传递给查询方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47090132/