Problema con duplicados usando la función Grails 'withCriteria con una relación de muchos a muchos

Tengo 2 tablas, Preguntas y respuestas, con una relación de muchos a muchos (es decir, las preguntas pueden tener múltiples respuestas y las respuestas pueden ser reutilizadas por múltiples preguntas). Para la normalización, tengo una tabla de referencia cruzada entre ellos llamada Question_Answer que tiene una relación de muchos a uno con ambas tablas. Estas son sus definiciones de clase:

class Question {
    int id
    int text

    static hasMany = [questionAnswers : QuestionAnswer]
}

class Answer {
    int id
    int text

    static hasMany = [questionAnswers : QuestionAnswer]
}

class QuestionAnswer {
    int id
    Question question
    Answer answer
}

Estoy tratando de obtener una lista de Respuestas basadas en ciertos criterios. Aquí está mi consulta de criterios (usando Grails 'withCriteria función):

def listing = Answer.withCriteria {
    cache false
    order "id", "asc"

    eq("id", myAnswerID)

    questionAnswers {
        question {
            isNotNull("text")
        }
    }
}

Aquí hay un ejemplo del problema que estoy teniendo:

Tengo una respuesta que coincide con 3 preguntas diferentes. Lo que quiero en el "listado" es 1Answer objeto, con suquestionAnswers lista poblada con las 3 coincidenciasQuestionAnswer objetos. En cambio, obtengo 3 @ idénticAnswer objetos, todos con suquestionAnswers listas pobladas.

¿Hay una manera simple de lograr lo que quiero? Espero estar perdiendo algo pequeño.

Cualquier ayuda / sugerencia es muy apreciada.

Gracias, B.J.

Respuestas a la pregunta(1)

Su respuesta a la pregunta