Hibernate Column Formula返回null

时间:2016-04-30 07:41:12

标签: java hibernate

在我的hibernate映射文件中,为了获得员工的全名,我将Column Formula定义如下。

textfield2

但如果任何一个属性(FIRST或LAST NAME)为 null ,则返回 null 。如何让它为null属性返回空字符串..?

3 个答案:

答案 0 :(得分:0)

您可以尝试在整个列公式上使用COALESCE()

<property name="fullName"
          formula="select coalesce(concat(emp_First_Name, ' ', emp_Last_Name), '') from employee" />

COALESCE(A, B)在JPA或原始SQL中的工作方式是,A非空时输出AB时输出A空。

答案 1 :(得分:0)

我猜你的问题是关于如果每个属性(firstName或lastName)变为null,如何处理null。

在你的代码中你应该做这样的事情(创建对象并设置FirstName和lastName)

例如:
     String firstName = "Joe"; account.setFirstname(firstName);

您只需检查firstName的空值,并将其设为空白

if(firstName.equal(null))
   firstName = ""; // set an empty value to it.

我希望这可以帮到你!

答案 2 :(得分:0)

得到了......

如果A不为空,则COALESCE(A,B)返回A,如果A为空则返回B

因此我需要的是

CONCAT( COALESCE(emp_First_Name,''),'',COALESCE(emp_Last_Name,'') )

因此,如果其中一个属性为null,则返回另一个属性,而不是null。如果两个属性都为空,则返回空字符串