如果它存在,如何选择n-1个对象属性,如果不存在,则如何选择另一个n-1个对象#t; tin in HQL

时间:2014-08-25 19:14:02

标签: hibernate jpa hql coalesce

我认为标题确实解释了自己,我必须按照特定的顺序从一个或另一个对象中选择一个属性,例如名称。

喜欢,“选择我妈妈的名字,如果她存在,如果没有,那么就得到爸爸的名字,即使他不存在所以得到任何亲戚的名字(它还是n-1)”。

如果我的实体看起来像

,我认为它看起来像'选择合并(mom.name,dad.name,relative.name,“它们都不存在”)来自MyEntity'
public class MyEntity {

@ManyToOne
private Mom mom;

@ManyToOne
private Dad dad;

@ManyToOne
private Relative relative;

}

以下是查询:

session.createQuery("select m.dataEnvio as dataEnvio, " + 
    " m.txtAnotacoes as txtAnotacoes, " + 
    " coalesce(m.unidadeOrigem,m.unidadeDestino,m.pessoaOrigem) " + 
    " as nomeOrigem from Movimentacao m")
        .setResultTransformer(new AliasToBeanResultTransformer(Movimentacao.class))
        .list();

0 个答案:

没有答案