java - 在 hibernate Restrictions.sqlRestriction 中重用参数?

标签 java hibernate

假设我想做

SELECT * from T where X < 12345 AND Y < 12345

使用Restrictions.sqlRestriction。在我的例子中,X 和 Y 所比较的常数是相同的。理想情况下,我只想将它传递给 sqlRestriction 一次,并通过参数列表中的索引引用它。这可能吗?

我可以将它传递两次,如下所示:

Restrictions.sqlRestriction("X < ? AND Y < ?", {12345, 12345}),但我问是否有更优雅的语法,类似于 C# 的 WriteLine 允许这样的东西

Console.WriteLine("This {0} appears here also {0}", 12345)

最佳答案

尝试使用 hibernate 函数而不是“手动”编写查询。

例如:

Query query = session.createQuery("SELECT t FROM T t WHERE t.X < :maxValue AND t.Y < :maxValue");
query.setInteger("maxValue", 12345);
query.list()

关于java - 在 hibernate Restrictions.sqlRestriction 中重用参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4301546/

相关文章:

在 Java Swing 应用程序中关闭 Hibernate Session 时出现 java.lang.NoSuchMethodError

java - @Transient 在 JPA 中无法正常工作

java - 我可以用泛型形式声明一个类,然后将子类转换为在 java 中声明为泛型的类型吗

java - 除主以外的 Hibernate OneToMany 关联

java - 将字符串的一部分转换为 int 以从二进制转换为浮点 JAVA 的最佳方法

java - 是否应该关闭从 hibernate session 获得的连接?

java - 从 hibernate 中的 session 对象中识别特定的 CRUD 操作

java - 如何为多个 JButton 创建单个 ActionListener

java - 如何从数据库中获取值到 jcombobox?

java - 通过在 JPA 中设置状态来删除数据库中的条目