在本机spring @Query中使用应用程序属性

问题描述 投票:0回答:1

我有一个带有执行本机查询以从数据库中获取数据的方法的存储库:

public interface ObjRepository extends CrudRepository<Obj, Long> {
    @Query(value = "SELECT obj.*\n" +
            "FROM obj\n" +
            "WHERE obj.value < #{${property.name}} and obj.value2 < :arg", nativeQuery = true)
    public List<Obj> getObjs(@Param("arg") int arg);

我正在尝试在查询中使用属性作为常量。该属性在application.properties文件中定义为property.name=300。当我尝试运行查询时,出现异常:

org.postgresql.util.PSQLException: ERROR: syntax error at or near "{"

如果将#{${property.name}}替换为字符串中的实际数字,则查询工作正常。我的SpEL语法错误吗?如何在查询字符串中使用application.properties中定义的属性?

spring spring-data spring-el
1个回答
0
投票
基于this answer
© www.soinside.com 2019 - 2024. All rights reserved.