Java 将EclipseLink迁移到Hibernate SQLGrammarException

Java 将EclipseLink迁移到Hibernate SQLGrammarException,java,mysql,hibernate,jpa,Java,Mysql,Hibernate,Jpa,我正试图从日食迁移到冬眠。 大多数SQL查询都可以工作,但对于一些SQL查询,我得到了一个SQLGrammarException。所有查询都使用EclipseLink。是否有SQL语句不适用于Hibernate,或者我只是配置了一些错误的东西 以下是一个查询不是working Person的实体的示例。FindAllTyperSonRole不起作用: @Entity @NamedQueries({ @NamedQuery( name = "Person.FindA

我正试图从日食迁移到冬眠。 大多数SQL查询都可以工作,但对于一些SQL查询,我得到了一个SQLGrammarException。所有查询都使用EclipseLink。是否有SQL语句不适用于Hibernate,或者我只是配置了一些错误的东西

以下是一个查询不是working Person的实体的示例。FindAllTyperSonRole不起作用:

    @Entity
@NamedQueries({
    @NamedQuery(
        name = "Person.FindAllByPersonRole",
        query = "SELECT p FROM Person p WHERE :personRole IN (p.roles)"),
    @NamedQuery(
        name = "Person.FindAllByPersonRoles",
        query = "SELECT DISTINCT p FROM Person p WHERE p.roles IN :personRoles"),
    @NamedQuery(
        name = "Person.GetPersonByUuid",
        query = "SELECT p FROM Person p WHERE p.uuid = :personUuid"),
    @NamedQuery(
        name = "Person.FindBySearchString",
        query = "SELECT p FROM Person p WHERE p.firstname LIKE :searchString OR p.lastname LIKE :searchString OR p.institution LIKE :searchString OR CONCAT(p.lastname, ' ', p.firstname) LIKE :searchString OR CONCAT(p.firstname, ' ', p.lastname) LIKE :searchString"),
    @NamedQuery(
        name = "Person.FindTeacherFromSchoolByName",
        query = "SELECT p FROM SchoolClass s INNER JOIN Person p ON s.teacher_Id = p.uuid WHERE s.school.id = :schoolId  AND p.firstname = :firstName AND p.lastname = :lastName"),
    @NamedQuery(
        name = "Person.FindTeacherByEmail",
        query = "SELECT p FROM Person p WHERE p.email = :email AND :personRole IN (p.roles)")
})

@ValidPerson(message = "{NachOderVorname}")
@ValidPersonRoles(message = "{RollenNichtOK}")
public class Person implements IId<Long> {

    @TableGenerator(initialValue = 1000, allocationSize = 100, name = "Person")
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator = "Person")
    private Long id;

    @NotNull
    private String uuid;

    @Version
    private Long version;

    @StandardText
    @Size(max = 100, message = "{maxSize}")
    private String lastname;

    @StandardText
    @Size(max = 100, message = "{maxSize}")
    private String firstname;

    @StandardText
    @Size(min = 1, max = 100)
    private String phone;

    @StandardText
    @Size(min = 1, max = 100)
    private String mobile;

    @EMail
    private String email;

    @OneToOne(cascade = { CascadeType.ALL }, orphanRemoval = true)
    @JoinColumn(name = "ADDRESS_ID")
    @NotNull
    @Valid
    private Address address;

    @ElementCollection(targetClass = PersonRole.class)
    @Enumerated(EnumType.STRING)
    @CollectionTable(name = "personrole")
    @Column(name = "role")
    private Set<PersonRole> roles;

    @Enumerated(EnumType.STRING)
    private Gender gender;

    @StandardText
    @Size(min = 1, max = 100)
    private String institution;

    @OneToMany(mappedBy = "person", cascade = { CascadeType.ALL }, orphanRemoval = true)
    private Set<Wish> wishes;

IIRC,应该在其中:p.roles.Show的personRole成员显示实际生成的查询。从Person p中选择p,其中:Person角色在p中。角色应该很好。谢谢您的帮助!我发现查询的一部分解释不正确:]中的“Schooladministrator”应该是:]中的“Schooladministrator”在p.roles中]在我将p.roles放在引号中后,查询开始工作:从Person p中选择p,其中:personRole在“p.roles”中
<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
             http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
             version="2.1">

    <persistence-unit name="bbmpu" transaction-type="RESOURCE_LOCAL">

        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

        <exclude-unlisted-classes>false</exclude-unlisted-classes>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="${dbConnection.driver}" />
            <property name="javax.persistence.jdbc.url" value="${dbConnection.url}" />
            <property name="javax.persistence.jdbc.user" value="${dbConnection.username}" />
            <property name="javax.persistence.jdbc.password" value="${dbConnection.password}" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.hbm2ddl.auto" value="none"/>
        </properties>
    </persistence-unit>
</persistence>
<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>3.3.0.Final</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>5.4.10.Final</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-annotations</artifactId>
                <version>3.5.6-Final</version>
            </dependency>
            <dependency>
                <groupId>javax.el</groupId>
                <artifactId>javax.el-api</artifactId>
                <version>3.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.web</groupId>
                <artifactId>javax.el</artifactId>
                <version>2.2.4</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>5.4.10.Final</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-jpamodelgen</artifactId>
                <version>5.4.10.Final</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.1-api</artifactId>
                <version>1.0.2.Final</version>
            </dependency>
            <!-- Bean Validation 1.0 -->
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>1.0.0.GA</version>
            </dependency>
            <!-- Bean Validation Implementation -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>4.3.2.Final</version>
            </dependency>
            <!-- Database -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.29</version>
            </dependency>
            <!-- Commons lang -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.3.2</version>
            </dependency>
            <!-- batik um svg zu images zu konvertieren -->
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-transcoder</artifactId>
                <version>1.7</version>
            </dependency>
            <!-- log4j -->
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>2.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>2.2</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>2.2</version>
            </dependency>
        </dependencies>
</dependencyManagement>

16:14:40.982 AXLMA01 [Thread-17] TRACE org.hibernate.engine.query.spi.QueryPlanCache - Located HQL query plan in cache (SELECT p FROM Person p WHERE :personRole IN (p.roles))
16:14:40.982 AXLMA01 [Thread-17] TRACE org.hibernate.engine.query.spi.QueryPlanCache - Located HQL query plan in cache (SELECT p FROM Person p WHERE :personRole IN (p.roles))
16:14:40.983 AXLMA01 [Thread-17] TRACE org.hibernate.engine.query.spi.QueryPlanCache - Located HQL query plan in cache (SELECT p FROM Person p WHERE :personRole IN (p.roles))
16:14:40.983 AXLMA01 [Thread-17] TRACE org.hibernate.engine.query.spi.HQLQueryPlan - Find: SELECT p FROM Person p WHERE :personRole IN (p.roles)
16:14:40.983 AXLMA01 [Thread-17] TRACE org.hibernate.engine.spi.QueryParameters - Named parameters: {personRole=Schooladministrator}
Hibernate: select person0_.id as id1_8_, person0_.ADDRESS_ID as ADDRESS11_8_, person0_.email as email2_8_, person0_.firstname as firstnam3_8_, person0_.gender as gender4_8_, person0_.institution as institut5_8_, person0_.lastname as lastname6_8_, person0_.mobile as mobile7_8_, person0_.phone as phone8_8_, person0_.uuid as uuid9_8_, person0_.version as version10_8_ from Person person0_ cross join personrole roles1_ where person0_.id=roles1_.Person_id and (? in (.))
16:14:40.983 AXLMA01 [Thread-17] DEBUG org.hibernate.SQL - select person0_.id as id1_8_, person0_.ADDRESS_ID as ADDRESS11_8_, person0_.email as email2_8_, person0_.firstname as firstnam3_8_, person0_.gender as gender4_8_, person0_.institution as institut5_8_, person0_.lastname as lastname6_8_, person0_.mobile as mobile7_8_, person0_.phone as phone8_8_, person0_.uuid as uuid9_8_, person0_.version as version10_8_ from Person person0_ cross join personrole roles1_ where person0_.id=roles1_.Person_id and (? in (.))
16:14:40.983 AXLMA01 [Thread-17] TRACE org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl - Registering statement [com.mysql.jdbc.JDBC4PreparedStatement@16a0f037: select person0_.id as id1_8_, person0_.ADDRESS_ID as ADDRESS11_8_, person0_.email as email2_8_, person0_.firstname as firstnam3_8_, person0_.gender as gender4_8_, person0_.institution as institut5_8_, person0_.lastname as lastname6_8_, person0_.mobile as mobile7_8_, person0_.phone as phone8_8_, person0_.uuid as uuid9_8_, person0_.version as version10_8_ from Person person0_ cross join personrole roles1_ where person0_.id=roles1_.Person_id and (** NOT SPECIFIED ** in (.))]
16:14:40.983 AXLMA01 [Thread-17] TRACE org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl - Registering last query statement [com.mysql.jdbc.JDBC4PreparedStatement@16a0f037: select person0_.id as id1_8_, person0_.ADDRESS_ID as ADDRESS11_8_, person0_.email as email2_8_, person0_.firstname as firstnam3_8_, person0_.gender as gender4_8_, person0_.institution as institut5_8_, person0_.lastname as lastname6_8_, person0_.mobile as mobile7_8_, person0_.phone as phone8_8_, person0_.uuid as uuid9_8_, person0_.version as version10_8_ from Person person0_ cross join personrole roles1_ where person0_.id=roles1_.Person_id and (** NOT SPECIFIED ** in (.))]
16:14:40.983 AXLMA01 [Thread-17] TRACE org.hibernate.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [Schooladministrator]
16:14:40.983 AXLMA01 [Thread-17] TRACE org.hibernate.loader.Loader - Bound [2] parameters total
16:14:40.988 AXLMA01 [Thread-17] DEBUG org.hibernate.engine.jdbc.spi.SqlExceptionHelper - could not extract ResultSet [n/a]
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))' at line 1
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_144]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_144]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_144]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_144]
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) ~[mysql-connector-java-5.1.29.jar:?]
    at com.mysql.jdbc.Util.getInstance(Util.java:386) ~[mysql-connector-java-5.1.29.jar:?]
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054) ~[mysql-connector-java-5.1.29.jar:?]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237) ~[mysql-connector-java-5.1.29.jar:?]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169) ~[mysql-connector-java-5.1.29.jar:?]
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617) ~[mysql-connector-java-5.1.29.jar:?]
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778) ~[mysql-connector-java-5.1.29.jar:?]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2834) ~[mysql-connector-java-5.1.29.jar:?]
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156) ~[mysql-connector-java-5.1.29.jar:?]
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2313) ~[mysql-connector-java-5.1.29.jar:?]
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.Loader.getResultSet(Loader.java:2292) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2050) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2012) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.Loader.doQuery(Loader.java:953) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.Loader.doList(Loader.java:2815) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.Loader.doList(Loader.java:2797) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2629) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.Loader.list(Loader.java:2624) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:396) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1396) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1558) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1526) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at org.hibernate.query.Query.getResultList(Query.java:165) ~[hibernate-core-5.4.10.Final.jar:5.4.10.Final]
    at project.domain.repositories.PersonRepository.findAllByPersonRole(PersonRepository.java:205) ~[classes/:?]
    at project.logic.PersonLogic.findAllByPersonRole(PersonLogic.java:77) ~[classes/:?]
    at project.ui.controller.SchoolDetailController.loadSchoolAdministrators(SchoolDetailController.java:418) ~[classes/:?]
    at project.ui.controller.SchoolDetailController.init(SchoolDetailController.java:192) ~[classes/:?]
    at project.ui.controller.SchoolDetailController.pageDidLoad(SchoolDetailController.java:406) ~[classes/:?]
    at project.ui.Page.load(Page.java:45) ~[classes/:?]
    at project.ui.Page.load(Page.java:50) ~[classes/:?]
    at project.ui.controller.NavigatorController$1$1.call(NavigatorController.java:327) ~[classes/:?]
    at project.ui.controller.NavigatorController$1$1.call(NavigatorController.java:323) ~[classes/:?]
    at javafx.concurrent.Task$TaskCallable.call(Task.java:1423) ~[jfxrt.jar:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_144]
    at javafx.concurrent.Service.lambda$null$492(Service.java:725) ~[jfxrt.jar:?]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_144]
    at javafx.concurrent.Service.lambda$executeTask$493(Service.java:724) ~[jfxrt.jar:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_144]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_144]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
16:14:40.990 AXLMA01 [Thread-17] WARN  org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 1064, SQLState: 42000
16:14:40.990 AXLMA01 [Thread-17] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))' at line 1
16:14:40.991 AXLMA01 [Thread-17] TRACE org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl - Releasing statement [com.mysql.jdbc.JDBC4PreparedStatement@16a0f037: select person0_.id as id1_8_, person0_.ADDRESS_ID as ADDRESS11_8_, person0_.email as email2_8_, person0_.firstname as firstnam3_8_, person0_.gender as gender4_8_, person0_.institution as institut5_8_, person0_.lastname as lastname6_8_, person0_.mobile as mobile7_8_, person0_.phone as phone8_8_, person0_.uuid as uuid9_8_, person0_.version as version10_8_ from Person person0_ cross join personrole roles1_ where person0_.id=roles1_.Person_id and ('Schooladministrator' in (.))]
16:14:40.991 AXLMA01 [Thread-17] TRACE org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl - Closing prepared statement [com.mysql.jdbc.JDBC4PreparedStatement@16a0f037: select person0_.id as id1_8_, person0_.ADDRESS_ID as ADDRESS11_8_, person0_.email as email2_8_, person0_.firstname as firstnam3_8_, person0_.gender as gender4_8_, person0_.institution as institut5_8_, person0_.lastname as lastname6_8_, person0_.mobile as mobile7_8_, person0_.phone as phone8_8_, person0_.uuid as uuid9_8_, person0_.version as version10_8_ from Person person0_ cross join personrole roles1_ where person0_.id=roles1_.Person_id and ('Schooladministrator' in (.))]
16:14:40.991 AXLMA01 [Thread-17] TRACE org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl - Starting after statement execution processing [AFTER_TRANSACTION]
16:14:40.991 AXLMA01 [Thread-17] TRACE org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor - LogicalConnection#afterTransaction
16:14:40.991 AXLMA01 [Thread-17] TRACE org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl - Releasing JDBC resources
16:14:40.991 AXLMA01 [Thread-17] DEBUG org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl - Initiating JDBC connection release from afterTransaction
16:14:40.991 AXLMA01 [Thread-17] TRACE org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl - Releasing JDBC resources
16:14:40.994 AXLMA01 [Thread-17] DEBUG org.hibernate.engine.transaction.internal.TransactionImpl - On TransactionImpl creation, JpaCompliance#isJpaTransactionComplianceEnabled == false
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
    at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
    at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1535)
    at org.hibernate.query.Query.getResultList(Query.java:165)
    at project.domain.repositories.PersonRepository.findAllByPersonRole(PersonRepository.java:205)
    at project.logic.PersonLogic.findAllByPersonRole(PersonLogic.java:77)
    at project.ui.controller.SchoolDetailController.loadSchoolAdministrators(SchoolDetailController.java:418)
    at project.ui.controller.SchoolDetailController.init(SchoolDetailController.java:192)
    at project.ui.controller.SchoolDetailController.pageDidLoad(SchoolDetailController.java:406)
    at project.ui.Page.load(Page.java:45)
    at project.ui.Page.load(Page.java:50)
    at project.ui.controller.NavigatorController$1$1.call(NavigatorController.java:327)
    at project.ui.controller.NavigatorController$1$1.call(NavigatorController.java:323)
    at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at javafx.concurrent.Service.lambda$null$492(Service.java:725)
    at java.security.AccessController.doPrivileged(Native Method)
    at javafx.concurrent.Service.lambda$executeTask$493(Service.java:724)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
    at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63)
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:67)
    at org.hibernate.loader.Loader.getResultSet(Loader.java:2292)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2050)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2012)
    at org.hibernate.loader.Loader.doQuery(Loader.java:953)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
    at org.hibernate.loader.Loader.doList(Loader.java:2815)
    at org.hibernate.loader.Loader.doList(Loader.java:2797)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2629)
    at org.hibernate.loader.Loader.list(Loader.java:2624)
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:396)
    at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219)
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1396)
    at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1558)
    at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1526)
    ... 18 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))' at line 1
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.Util.getInstance(Util.java:386)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2834)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2313)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57)
    ... 33 more
16:15:06.110 AXLMA01 [Hibernate Connection Pool Validation Thread] DEBUG org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl - Connection pool now considered primed; min-size will be maintained