在我的hibernate映射文件中,为了获得员工的全名,我将Column Formula定义如下。
textfield2
但如果任何一个属性(FIRST或LAST NAME)为 null ,则返回 null 。如何让它为null属性返回空字符串..?
答案 0 :(得分:0)
您可以尝试在整个列公式上使用COALESCE()
:
<property name="fullName"
formula="select coalesce(concat(emp_First_Name, ' ', emp_Last_Name), '') from employee" />
COALESCE(A, B)
在JPA或原始SQL中的工作方式是,A
非空时输出A
,B
时输出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。如果两个属性都为空,则返回空字符串