簡體   English   中英

jpql比較字符串為int

[英]jpql compare string as int

我有一個叫做info對象

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

和數據庫中的相同類型。 現在triesErrCountString (在類和DB(varchar)中),但是在我的db中,它們都像數字(“ 1”,“ 7”,“ 56” ...)。

我嘗試獲取小於50的所有信息,請嘗試以下操作:

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

tryErrAsString =“ 50”(在jpql中)

但這不起作用,我也嘗試:

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

tryErrAsInt = 50

但仍然無法正常工作。 我正在使用jpa 1.0。 和OpenJPA 1.2.1

字符串不是Int型,因此數字比較將無法正常工作。 您需要將字符串轉換為數字才能使用數字運算符。 有關如何在JPQL中執行此操作的示例,請參見CAST ,但是最好將數據庫中的類型更改為數字類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM