2016-10-02 72 views
0

我使用Hibernate Criteria从表中获取所有行。如何在休眠条件中使用TO_CHAR方法条件

我想要一个特定的行被格式化为24,555.00

SQL查询来获取这样的事情

select TO_CHAR(TOTAL_AMT_TRNS, '999,999,999,999.00') 
from deductions 

我想在条件相同的TO_CHAR方法得到格式化列。

+0

像这样的格式化值应该在应用程序的表示层完成,而不是在检索数据时完成。在Java内部做这个有什么问题? –

+0

嗨,感谢您的评论。是否有任何方式@Annotate TO_CHAR方法在pojo中声明的变量...请回复... – Dutij

回答

1

我不相信你真的可以注入到一个标准查询中,除非你已经在你正在查询的实体中映射这个字段。

你可以实现你想用@Formula

@Formula做什么基本上是一个实体的一个新领域,但不一定映射到数据库列,你的情况映射将如下像这样:

@Formula("TO_CHAR(totalAmtTrans, '999,999,999,999.00')") // Note that you're referring to other fields' names and not the column names while writing a criteria, although it's regular SQL in every other regard 
private String totalAmtTransFormatted; 
+0

谢谢你的有意义的答复,它的作品很好 – Dutij