将String传递给String 对于使用Hibernate的CriteriaBuilder.equal方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将String传递给String 对于使用Hibernate的CriteriaBuilder.equal方法相关的知识,希望对你有一定的参考价值。
我有一个字符串:tmNumber,我需要将tmNumber传递给以下方法:
CriteriaBuilder.equal(Expression<String>.Expression<String>)
但我无法弄清楚如何将tmNumber字符串解析为Expression。
为简单起见,我删除了许多与问题无关的代码。假设这是在一个传递了一个名为tmNumber的字符串的方法中
Expression<String> currentTm = trainingEntryRoot.get("tmnumber");
Expression<String> passedTmNumber = tmNumber; //tmNumber is a string I need to parse to Expression<String>, but how?
Predicate tmNumberPred = builder.equal(passedTmNumber, currentTm);
答案
CriteriaBuilder还提供了CriteriaBuilder#equal(Expression<?>, java.lang.Object)
(javadoc here),它可以将Expression<String>
作为第一个参数,然后将你的String tmNumber
作为第二个参数。
这意味着你几乎可以工作,只需稍加修改:
Expression<String> currentTm = trainingEntryRoot.get("tmnumber");
Predicate tmNumberPred = builder.equal(currentTm, tmNumber);
以上是关于将String传递给String 对于使用Hibernate的CriteriaBuilder.equal方法的主要内容,如果未能解决你的问题,请参考以下文章
将 javascript 字符串传递给 std::string 打印垃圾值
将 std::string_view 传递给执行 const std::string& 的 API
如何将 std::string 传递给需要 char* 的函数? [复制]