以下のコードでは..Entity Object
参照として2つのエイリアスがあります。データベースにある場合もあり"caseStage" as stage
ますnull
。"caseStage"
がnullの場合stage.name
、値を空にするString
か、カスタマイズしたもの"---"
などにします。
session.createCriteria(CaseMasterPO.class)
.createAlias("branch", "br") // BranchPO.class
.createAlias("caseStage", "stage") // CaseStagePO.class
.setProjection(Projections.projectionList()
.add(Projections.property("caseCode"))
.add(Projections.property("br.zoneCode"))
.add(Projections.property("stage.name")) // Problem, when stage == null
)
.add(Restrictions.eq("caseCode", caseCode)).uniqueResult();