Spring 动态运行查询

Spring 动态运行查询,spring,spring-boot,spring-data-jpa,Spring,Spring Boot,Spring Data Jpa,我将我的Sql查询作为值存储在MongoDb数据库中的一个关键属性中。我能够从MongoDb数据库中获取记录。我想在从那里检索后运行关联的Sql查询。 记录格式如下: { "Id":2, "Type":"SqlQuery", "Syntax":"select id from table

我将我的Sql查询作为值存储在MongoDb数据库中的一个关键属性中。我能够从MongoDb数据库中获取记录。我想在从那里检索后运行关联的Sql查询。 记录格式如下:

     {

                  "Id":2,

                  "Type":"SqlQuery",

                  "Syntax":"select id from table_name where id = pid and optional_id in ('AC','SU')",

                  "ValueSpecifiers":{

                        "id":"request.id"
                  }
 }

我是springboot的初学者。如果有人能为我提供一些资源或正确的方向,这将非常有帮助。我不知道是否可以通过在此处动态设置一些筛选器参数(如id)来命中查询,因为它随请求对象而变化。我想动态运行它,而不扩展crud存储库。就像命中db一样通过本机查询。

您可以在记录的查询中使用类似“?”的字符,然后用过滤器替换它。例子: 在数据库中保存查询,如下所示

从表_name(其中id=pid)中选择id,并在(?)中选择可选的_id

然后检索对变量的查询,并用要筛选的参数替换“?”。差不多

替换(“?”、“'AC'、'SU'”)

替换(varQuery、“?”、“'AC”、“SU'”)


我希望在不扩展crud存储库的情况下动态运行它。我更关注于这一点。因为sql语句可能会有所不同,并且它们不在结构中。