Связывание namedNativeQuery не работает с Payara или Glassfish 4.1 - PullRequest
0 голосов
/ 17 января 2019

Вот настройки среды и важные зависимости:

  • Spring boot 1.5.6
  • dev Сервер tomcat 8
  • Сервер производства Glassfish 4.1
  • org.hibernate.javax.persistence: hibernate-jpa-2.1-api: jar: 1.0.0.Final: compile

Следующий код отлично работает насервер разработки

@Entity
@Table(name = "table")
@SqlResultSetMappings({
    @SqlResultSetMapping(name = "SqlResultSetMapping.count", columns = @ColumnResult(name = "cnt")),
        @SqlResultSetMapping(name = "projection",
        classes = {
            @ConstructorResult(
                targetClass = com.considion.itas.domain.Table.class,
                columns = {})
})
@NamedNativeQueries({
    @NamedNativeQuery(
        name = "Table.request",
        resultSetMapping = "projection",
        query = "query"
    ),
    @NamedNativeQuery(
        name = "Table.request.count",
        resultSetMapping = "SqlResultSetMapping.count",
        query = " count request"
    )
})
public class Table implements Serializable { ... }

и Репозиторий выглядит следующим образом:

public interface TableRepository extends JpaRepository<Table,Long>{
    Page<Table> extract(@Param("para") ... , Pageable pageable);
}

, но после запуска в производственной среде glassFish выдает следующую ошибку

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property extract found for type Table!

        at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:80) ~[spring-data-commons-1.13.15.RELEASE.jar:na]

        at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:336) ~[spring-data-commons-1.13.15.RELEASE.jar:na]

        at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:312) ~[spring-data-commons-1.13.15.RELEASE.jar:na]
...