java - 存储动态 JPA 查询

标签 java hibernate jpa

在一个网络项目中,我有一个复杂的表单来构建动态查询。当我编写这段代码时,我只有 JPA 1(没有 Criteria API),所以我动态构建查询字符串(但仍然使用绑定(bind)参数)。到目前为止效果很好。现在我想保存查询(不是结果),以便用户稍后可以重新运行相同的查询。

理想情况下,我只将查询字符串存储在数据库中。在构建查询时,我可以确保只使用 ID(不是“where user = :user”而是“where user.id = :userid”)。

由于参数的输入来自用户,我喜欢使用查询参数,以避免'little bobby tables' .

有没有简单的方法来做到这一点?

最佳答案

我不确定为什么这是个问题,因为我认为您没有理由只创建一个表来存储查询。 棘手的部分必须在 1)从某处获取可用参数。如果需要,也许您可​​以将其存储在参数表中。 2) 决定设置哪些参数。只需找到查询查询中的所有 :parameters,看看您是否获得了该参数并将其设置在查询中。

我错过了什么?

关于java - 存储动态 JPA 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030211/

相关文章:

java - EventBus 对象的方法在 java 中不起作用

java - Hibernate 5 给出错误 : must have same number of columns as the referenced primary key

java - 如何使用实时贴纸制作自定义相机

java - 想不出一个简单的 4 框 JPanel 布局

java - 为什么这个字符串 : javax. sql.rowset.serial.SerialClob 包含在输出文件中而不是实际值中

hibernate - 在 hibernate 多对多关联中重新排序列表中的项目

Spring,Spring Data JPA : org. hibernate.hql.internal.ast.QuerySyntaxException:测试未映射

java - Swing + Spring + @Transactional = 不启动事务

java - 如何使用 JPA 进行多重 SELECT 查询

kotlin - 使用 JPA 的 Micronaut 功能应用程序