Использование шаблона Swagger Builder в JPA-запросе - PullRequest
0 голосов
/ 19 марта 2020

У меня есть следующий код запроса JPA, в настоящее время использующий обычный конструктор:

@Query("select new MyType(member1, member2) from MyTypePersistent mtp where mtp.member1 = :member1")
MyType operation(@Param("member1") Integer member1);

Однако предполагается, что MyType должен быть создан генератором кода swagger. Следовательно, я хотел бы использовать шаблон построителя, используемый Swagger.

@Query("select new MyType().member1(member1).member2(member2) from MyTypePersistent mtp where mtp.member1 = :member1")
MyType operation(@Param("member1") Integer member1);

Это, похоже, не работает, так как я получаю тонны сообщений об ошибках вдоль строк

antlr.NoViableAltException: unexpected token: member1
        at org.hibernate.hql.internal.antlr.HqlBaseParser.aliasedExpression(HqlBaseParser.java:2383)
        at org.hibernate.hql.internal.antlr.HqlBaseParser.selectedPropertiesList(HqlBaseParser.java:1390)
        at org.hibernate.hql.internal.antlr.HqlBaseParser.newExpression(HqlBaseParser.java:1434)
        at org.hibernate.hql.internal.antlr.HqlBaseParser.selectClause(HqlBaseParser.java:1306)
        at org.hibernate.hql.internal.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1040)
        at org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:748)
        at org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:319)
[...]

Что мне здесь не хватает? Каков наилучший подход для выполнения такой операции?

...