1

Я использую заводной:критерии Hibernate установить проекционный заводной

это работает хорошо, но мне нужно, чтобы иметь отображение поля сог возвращает [[1,2], [2,2]]. Мне это нужно, чтобы быть, как это [[caseId: 1, countId: 2], [caseId: 2, countId: 2]]

def childNotes = ChildNote.withCriteria() { 
      createAlias("caseInstance", "caseInstance") 
      createAlias("caseInstance.caseTypeInstance", "caseTypeInstance") 
      createAlias("childNoteEnteredBy", "childNoteEnteredBy") 
      createAlias("assessmentTypeIdAssessmentType", "assessmentTypeIdAssessmentType") 
      eq("caseTypeInstance.caseTypeDescrip", "Youth") 
      eq("childNoteEnteredBy.id", ccuEmployeeId as Long) 
      'in'("assessmentTypeIdAssessmentType.id", assesmentTypes) 
      projections { groupProperty("caseInstance") 
       count("caseInstance") 

       } 

     } 

это не работает

projections { groupProperty("caseInstance") as "caseId" 
         count("caseInstance") as "caseCount" 

         } 

Я также попытался createcriteria и использовал этот пример, на мой код, но «Проекции» в строке Projections.property не признается, даже если я уже импортировал org.hibernate.criterion.ProjectionList

List results = session.createCriteria(Domestic.class, "cat") 
.createAlias("kittens", "kit") 
.setProjection(Projections.projectionList() 
    .add(Projections.property("cat.name"), "catName") 
    .add(Projections.property("kit.name"), "kitName")caseInstance 
) 
.addOrder(Order.asc("catName")) 
.addOrder(Order.asc("kitName")) 
.list(); 

Может ли кто-нибудь указать мне правильный синтаксис для этого? Благодарю.

ответ

0

Читайте каждую строку результата и создать карту для каждого из них, или использовать AliasToEntityMapResultTransformer, который делает это для вас:

criteria.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE) 
+0

это для createcriteria вместо withcriteria? Моя проблема с setProjections при использовании createCriteria заключается в том, что она не распознается. tnx – user742102

+0

Это экземпляр Criteria, который вы настраиваете, независимо от того, как вы это делаете. –

+0

Извините, как я могу это использовать? Я добавил его в свои критерии, и это привело к [[:], [:]]. полный noob здесь. tnx – user742102