java - jpql 比较字符串作为 int

标签 java jpa db2 jpql

我有一个名为 info 的对象

class info
@Column(name="id")
int id
@Column(name="system")
string system
@Column(name="triesErrCount")
string triesErrCount

与数据库中的类型相同。 现在triesErrCountString (在类和数据库(varchar)中),但在我的数据库中,它都像数字(“1”,“7”,“56”...)。

我尝试获取小于 50 的所有信息,我尝试这样做:

SELECT x from PaymentInfo x where x.triesErr <=:triesErrAsString

triesErrAsString = jpql 中的“50”

但是不行,我也尝试一下:

class info
@Column(name="id")
int id
@Column(name="system")
string system
@Transient
string triesErrCount
@Column(name="triesErrCount")
int triesErrCountAsInt

SELECT x from PaymentInfo x where x.triesErr <=:triesErrAsInt

triesErrAsInt = 50

但仍然无法正常工作。我使用的是jpa 1.0。和 OpenJPA 1.2.1

最佳答案

字符串不是 Int,因此数字比较将无法按您的预期进行。您需要将字符串转换为数字才能使用数字运算符。请参阅CAST 有关如何在 JPQL 中执行此操作的示例,但最好将数据库中的类型更改为数字类型。

关于java - jpql 比较字符串作为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24264493/

相关文章:

java - 在 Android 中,如何检查 webview 中加载的 URL 是否是图像?

java - JPA:如果其他情况不适用于查询

sql - 将常量表达式添加到 SELECT 列表会影响 DB2 中的查询执行时间吗?

c - 在多进程系统中使用 SQLAllocHandle(SQL_HANDLE_ENV, ...)

Java 套接字 : DataOutputStream or OutputStream?

java - 在 apache Camel 中使用 xpath 从 xml 获取值

java - 如何在 Java 中比较字符串?

Java JPA : Best practice for rollout of desktop app with DB?

mysql - 带有连接表的 ManyToOne、oneToMany

ruby - Ruby 2.3.4 上的 ibm_db gem 缺少依赖项