Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / JpaSpecificationExecutor - No property string found for type / 7 сообщений из 7, страница 1 из 1
02.11.2021, 20:54
    #40108853
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JpaSpecificationExecutor - No property string found for type
Подскажите куда копать, уже заканчиваются идеи... =((

Есть репозитрии, я пробовал и обычный и @NoRepositoryBean

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@NoRepositoryBean
public interface BaseRepository<T, K> extends JpaRepository<T, K>, JpaSpecificationExecutor<T> {

}
@Repository
public interface ClientRepository extends BaseRepository<ClientEntity, UUID> {

}



Есть сервис
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
  @Transactional
  public Page<ClientDto> findAllClients(SearchPageable<ClientRequest> serachPage) {
    return clientRepository.findAll(PageRequest.of(1, 5))
        .map(clientMapper::convertEntity);
    
    ClientSpecification clientSpecification = new ClientSpecification(serachPage);
    return clientRepository.findAll(clientSpecification, clientSpecification.getPageable())
        .map(clientMapper::convertEntity);
  }



Когда первая строка, (работает метод из JpaRepository) все работает отлично, но когда вторая (метод из JpaSpecificationExecutor)

Ловлю ошибку

Код: java
1.
2.
3.
4.
5.
6.
org.springframework.data.mapping.PropertyReferenceException: No property string found for type ClientEntity!
	at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:90)
	at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:437)
	at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:413)
	at org.springframework.data.mapping.PropertyPath.lambda$from$0(PropertyPath.java:366)
	at java.base/java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:330)



Настройки

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
  datasource:
    hikari:
      connection-timeout: 600000
      minimum-idle: 2
      maximum-pool-size: 5
      idle-timeout: 3000000
      max-lifetime: 3000000
      auto-commit: true
      pool-name: MYSQL-DEMO-POOL
#      auto-commit: false
#      minimum-idle: 1
#      maximum-pool-size: 10
#      connection-test-query: SELECT 1
#      data-source-properties:
#        cacheServerConfiguration: true
#      pool-name: limit-management-db-cp
    driver-class-name: org.postgresql.Driver
  
  jpa:
    generate-ddl: false
    database-platform: org.hibernate.dialect.PostgreSQL10Dialect
#    hibernate:
#      ddl-auto: validate
    properties:
      hibernate:
        hbm2ddl.auto: update
        show_sql: true
        use_sql_comments: true
        format_sql: true
        type: trace
#        dialect: org.hibernate.dialect.PostgreSQLDialect
#        order_inserts: true
#        order_updates: true
#        batch_versioned_data: true
#        jdbc:
#          batch_size: 20
#          use_streams_for_binary: true
#    open-in-view: false
...
Рейтинг: 0 / 0
02.11.2021, 21:30
    #40108855
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JpaSpecificationExecutor - No property string found for type
-=Koba=-,

ClientEntity покажи. :-)
...
Рейтинг: 0 / 0
02.11.2021, 21:57
    #40108858
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JpaSpecificationExecutor - No property string found for type
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
@Entity
@Table(name = "client")
@SQLDelete(sql = "UPDATE client SET deleted=true WHERE uid = ? AND version = ?")
@Getter
@Setter
@ToString
@Builder
@FieldNameConstants
@NoArgsConstructor
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class ClientEntity extends AuditableEntity {

  @Column(name = "reg_code")
  private String regCode;

  @Column(name = "non_resident_reg_code")
  private String nonResidentRegCode;

  @Enumerated(EnumType.STRING)
  @Column(name = "identity_doc_type")
  private IdentityDocumentType identityDocumentType;

  @Column(name = "identity_doc_series")
  private String identityDocumentSeries;

  @Column(name = "identity_doc_number")
  private String identityDocumentNumber;

  @Column(name = "full_name", nullable = false)
  private String fullName;

  @Column(name = "surname")
  private String surname;

  @Column(name = "name")
  private String name;

  @Column(name = "second_name")
  private String secondName;

  @Enumerated(EnumType.STRING)
  @Column(name = "status", nullable = false)
  private ClientStatus status;

  @ManyToMany(cascade = CascadeType.ALL)
  @JoinTable(
      name = "client_employee",
      joinColumns = {@JoinColumn(name = "client_uid")},
      inverseJoinColumns = {@JoinColumn(name = "employee_uid")}
  )
  @ToString.Exclude
  private Set<EmployeeEntity> employees = new HashSet<>();
}

@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
@Getter
@Setter
public abstract class AuditableEntity extends BaseEntity 
}

@MappedSuperclass
@FilterDef(
    name = DELETED_FILTER_NAME,
    parameters = @ParamDef(name = DELETED_FILTER_PARAM, type = "boolean")
)
@Filter(
    name = DELETED_FILTER_NAME,
    condition = "deleted = :isDeleted"
)
@Getter
@Setter
@FieldNameConstants
public abstract class BaseEntity implements Serializable {
}
...
Рейтинг: 0 / 0
03.11.2021, 11:43
    #40108921
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JpaSpecificationExecutor - No property string found for type
-=Koba=-

@Id где?!
...
Рейтинг: 0 / 0
04.11.2021, 11:38
    #40109177
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JpaSpecificationExecutor - No property string found for type
mad_nazgul
-=Koba=-

@Id где?!


@Id у родителя - BaseEntity


Тут мой косяк, я перевел SpringFox на SpringDoc
И не заметил, что в запросе, pageable - sort
Начал передоваться string, а не пустой массив
...
Рейтинг: 0 / 0
08.11.2021, 19:16
    #40110097
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JpaSpecificationExecutor - No property string found for type
-=Koba=-,


Дык в исходниках, что вы привели @Id в BaseEntity нет :-)
...
Рейтинг: 0 / 0
09.11.2021, 10:45
    #40110220
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JpaSpecificationExecutor - No property string found for type
-=Koba=-,

Судя по тексту ошибки No property string found for type ClientEntity! оно пытается найти property с именем "string" в классе ClientEntity.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JpaSpecificationExecutor - No property string found for type / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]