У меня есть следующий код запроса 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)
[...]
Что мне здесь не хватает? Каков наилучший подход для выполнения такой операции?