Sha*_*zeb 6 java jpa openjpa websphere-7
我Integer在数据库中有两列(derby和db2).我需要在里面把它们分开JPQL.
Integer如果余数是十进制数,则两个类型都返回零,例如0.25变为0等等,因为类型是int,因此可以理解.
在SQL我能有这个例如
select CAST(column1 as decimal(6,2))/CAST(column2 as decimal(6,2))from Sometable;
但JPQL等同的是什么.
一个选项可能是(我还没有尝试过)是@Transient在实体中有一个方法返回Decimal类型并在那里进行计算并将其传递给JPQL但是我宁愿让SQL这个工作.
Mysql不需要在数据库级别进行转换.所以不同RDBMS的行为是不同的,这很好.但是,JPQL应该如何处理需要使用本机查询才能知道此操作需要使用强制转换为十进制.
添加方言<property name="openjpa.jdbc.DBDictionary" value="derby"/>也没有解决它.
请注意它是JPA1
除法运算符对整数参数执行整数除法是一个特征.在MySQL中,您必须明确选择div整数除法和/浮点除法,而在JPQL中,选择是自动进行的,就像在Java中一样.
所以我建议:
select (column1 * 1.0) / column2 from Sometable;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18201 次 |
| 最近记录: |