Springboot JPA JPQL Query не работает в многомодульном проекте - PullRequest
0 голосов
/ 09 июля 2020

У меня есть проект springboot с 3 пакетами. Один из пакетов имеет класс Personnel

package com.employees.entity;
// imports

@EqualsAndHashCode(callSuper = true)
@Entity
@Table(name = "personnel")
@AllArgsConstructor
@NoArgsConstructor
@Data
@EntityListeners(AuditingEntityListener.class)
public class Personnel extends BaseEntity {
    @Column
    private String name;
    // other fields
}

и репозиторий

package com.employees.repository;
// imports

public interface PersonnelRepository extends JpaRepository<Personnel, Integer>,
        PagingAndSortingRepository<Personnel, Integer> {


       // other queries without @Query annotation are here and working fine

       @Query(value = "SELECT p.name FROM Personnel p")
       List<String> name();
}

Класс приложения springboot

package com.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@ComponentScan(basePackages = {"com.employees", "com.admin"})
@EnableJpaRepositories(basePackages = {"com.admin", "com.employees"} )
@EntityScan(basePackages = {"com.admin", "com.employees"})
@SpringBootApplication(scanBasePackages = {"com.admin", "com.employees"})
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

Все свойства моей базы данных заданы в файл свойств и работает правильно. Но каждый раз, когда я нажимаю на метод name() в репозитории, запись не возвращается. Когда я запускаю запрос в консоли hidernate с помощью intellij, он выдает эту ошибку

hql> SELECT p.name FROM Personnel p

[2020-07-09 18:33:50] org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
[2020-07-09 18:33:50] org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class []
[2020-07-09 18:33:50] java.lang.ClassNotFoundException:
[2020-07-09 18:33:50]   at java.lang.Class.forName0(Native Method)
[2020-07-09 18:33:50]   at java.lang.Class.forName(Class.java:348)
[2020-07-09 18:33:50]   at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:130)
[2020-07-09 18:33:50]   at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.loadDriverIfPossible(DriverManagerConnectionProviderImpl.java:149)
[2020-07-09 18:33:50]   at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildCreator(DriverManagerConnectionProviderImpl.java:105)
[2020-07-09 18:33:50]   at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:89)
[2020-07-09 18:33:50]   at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:73)
[2020-07-09 18:33:50]   at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:107)
[2020-07-09 18:33:50]   at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:246)
[2020-07-09 18:33:50]   at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
[2020-07-09 18:33:50]   at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145)
[2020-07-09 18:33:50]   at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66)
[2020-07-09 18:33:50]   at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
[2020-07-09 18:33:50]   at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101)
[2020-07-09 18:33:50]   at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263)
[2020-07-09 18:33:50]   at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237)
[2020-07-09 18:33:50]   at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
[2020-07-09 18:33:50]   at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152)
[2020-07-09 18:33:50]   at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286)
[2020-07-09 18:33:50]   at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243)
[2020-07-09 18:33:50]   at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
[2020-07-09 18:33:50]   at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:176)
[2020-07-09 18:33:50]   at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:118)
[2020-07-09 18:33:50]   at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
[2020-07-09 18:33:50]   at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:473)
[2020-07-09 18:33:50]   at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:84)
[2020-07-09 18:33:50]   at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:689)
[2020-07-09 18:33:50]   at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
[2020-07-09 18:33:50]   in HibernateFacadeImpl$MyRemoteConfigurationImpl.buildSessionFactory(HibernateFacadeImpl.java:38) (no stack trace)

Я искал часы, не зная, чего не хватает или что я делаю не так.

...