Есть приложение spring + jpaRepositories.
Итак, PersistenceConfig:
@Configuration
@EnableTransactionManagement
@EnableJpaAuditing
@EnableJpaRepositories(basePackages = {"persistence"})
@PropertySource("classpath:application-${envConfig}.properties")
@ComponentScan(basePackages = {"persistence"})
public class PersistenceConfig {
...
}
Вот такое дерево каталогов:
web
models
User.java
persistence
PersistenceConfig.java
UserRepository.javav
services
если найти Entities в модели - все в порядке. Если найти сущности в постоянстве - появляется сообщение об ошибке
Caused by: java.lang.IllegalArgumentException: Not a managed type: class persistence.User
@Entity
@Audited
@Table(name = "User"})})
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@Getter
@Setter
public class User {
@Id
private int id;
private String name;
}




Вы должны добавить пакет models в ComponentScan.
@ComponentScan(basePackages = {"persistence" , "models"})
Последнее полученное вами исключение фактически указывает на проблему с настройкой JPA. «Не управляемый компонент» означает, что поставщик JPA не знает такого типа. Если вы настраиваете приложение JPA на основе Spring, я бы рекомендовал настроить свойство «packagesToScan» в LocalContainerEntityManagerFactory, который вы настроили для пакета, содержащего ваши объекты JPA. В качестве альтернативы вы можете перечислить все свои классы сущностей в {persistence} .xml, но это обычно более громоздко.
Я обнаружил, что preconfig для jpa содержится в строке application.properties db.entitymanager.packages.to.scan
Проблема существует только при переходе от модели к настойчивости. Итак, модель - пакет видеть некорректно. Проверил - ошибка все та же