1
votes

java.lang.IllegalArgumentException: ce n'est pas un type géré avec @Entity et @Repository Setup avec Spring Boot 2

J'ai parcouru tous les autres stackoverflows pour ce sujet et aucun n'avait la réponse. J'obtiens le "Type non géré" sur mon entité. Voici les classes.

ENTITY:

public interface DB2CustConnector extends JpaRepository<CustDto, Integer> {

}

REPO:

@Repository
public interface DB2CustConnector extends JpaRepository<CustDto, Integer> {

    @Query("select c.customerId from CustDto c where c.taxPayerId = ':taxPayerId'")
    List<CustDto> retrieveCustomerIdByTaxPayerId(@Param("taxPayerId") String taxPayerId);

}

APPLICATION:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'customerController' defined in file [C:\code\java\workspace\brokerage-party-onboarding\application\build\classes\java\main\com\somecompany\brokerage\party\onborading\api\inbound\rest\controller\CustomerController.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'onboardingService' defined in file [C:\code\java\workspace\brokerage-party-onboarding\application\build\classes\java\main\com\somecompany\brokerage\party\onborading\service\OnboardingService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'DB2Adaptor' defined in file [C:\code\java\workspace\brokerage-party-onboarding\application\build\classes\java\main\com\somecompany\brokerage\party\onborading\api\outbound\db2\adaptor\DB2Adaptor.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'DB2CustConnector': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class com.somecompany.brokerage.party.onborading.api.outbound.db2.models.CustDto
  at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at com.somecompany.brokerage.party.onborading.BrokeragePartyOnboradingApplication.main(BrokeragePartyOnboradingApplication.java:27) [main/:na]
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'onboardingService' defined in file [C:\code\java\workspace\brokerage-party-onboarding\application\build\classes\java\main\com\somecompany\brokerage\party\onborading\service\OnboardingService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'DB2Adaptor' defined in file [C:\code\java\workspace\brokerage-party-onboarding\application\build\classes\java\main\com\somecompany\brokerage\party\onborading\api\outbound\db2\adaptor\DB2Adaptor.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'DB2CustConnector': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class com.somecompany.brokerage.party.onborading.api.outbound.db2.models.CustDto
  at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  ... 19 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'DB2Adaptor' defined in file [C:\code\java\workspace\brokerage-party-onboarding\application\build\classes\java\main\com\somecompany\brokerage\party\onborading\api\outbound\db2\adaptor\DB2Adaptor.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'DB2CustConnector': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class com.somecompany.brokerage.party.onborading.api.outbound.db2.models.CustDto
  at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:228) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  ... 33 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'DB2CustConnector': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class com.somecompany.brokerage.party.onborading.api.outbound.db2.models.CustDto
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  ... 47 common frames omitted
Caused by: java.lang.IllegalArgumentException: Not a managed type: class com.somecompany.brokerage.party.onborading.api.outbound.db2.models.CustDto
  at org.hibernate.metamodel.internal.MetamodelImpl.managedType(MetamodelImpl.java:582) ~[hibernate-core-5.4.12.Final.jar:5.4.12.Final]
  at org.hibernate.metamodel.internal.MetamodelImpl.managedType(MetamodelImpl.java:85) ~[hibernate-core-5.4.12.Final.jar:5.4.12.Final]
  at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:74) ~[spring-data-jpa-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getEntityInformation(JpaEntityInformationSupport.java:66) ~[spring-data-jpa-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation(JpaRepositoryFactory.java:211) ~[spring-data-jpa-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:161) ~[spring-data-jpa-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:144) ~[spring-data-jpa-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:69) ~[spring-data-jpa-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:312) ~[spring-data-commons-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$5(RepositoryFactoryBeanSupport.java:297) ~[spring-data-commons-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.util.Lazy.getNullable(Lazy.java:212) ~[spring-data-commons-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.util.Lazy.get(Lazy.java:94) ~[spring-data-commons-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:300) ~[spring-data-commons-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:121) ~[spring-data-jpa-2.2.5.RELEASE.jar:2.2.5.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]
  ... 58 common frames omitted

ADAPTATEUR:

package com.somecompany.brokerage.party.onborading.api.outbound.db2.adaptor;

import com.somecompany.brokerage.party.onborading.api.outbound.db2.connector.DB2CustConnector;
import com.somecompany.brokerage.party.onborading.api.outbound.db2.models.CustDto;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class DB2Adaptor {

    private final DB2CustConnector db2CustConnector;

    public DB2Adaptor(
            DB2CustConnector db2CustConnector
    ) {
        this.db2CustConnector = db2CustConnector;
    }

    public List<CustDto> retrieveCustomerByTaxPayerId(String TaxPayerId) {
        return db2CustConnector.retrieveCustomerIdByTaxPayerId(TaxPayerId);
    }

}

Stack Trace:

package com.somecompany.brokerage.party.onborading;

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

@SpringBootApplication(scanBasePackages = {
        "com.somecompany.brokerage.party.onborading.*",
        "com.somecompany.brokerage.party.onborading.exception",
        "com.somecompany.brokerage.party.onborading.service",
        "com.somecompany.brokerage.party.onborading.api.outbound.db2.*",
        "com.somecompany.brokerage.party.onborading.api.outbound.rest.*",
        "com.somecompany.brokerage.party.onborading.api.inbound.rest.*"
})
@EnableJpaRepositories(basePackages = {
        "com.somecompany.brokerage.party.onborading.api.outbound.db2.connector"
})
@EntityScan(basePackages = {
        "com.somecompany.brokerage.party.onborading.api.outbound.db2.models"
})
public class BrokeragePartyOnboradingApplication {

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


}

Je peux ajouter n'importe quel code si quelqu'un a besoin d'autres mais je pense que ce sont les plus importants.

Spring Boot 2.2.5

Je cherche et lis depuis des heures et je n'ai pas trouvé de réponse. p >

ESSAYÉ: Changer le sql pour refléter les informations de classe CustDto. Toujours obtenir l'erreur.

package com.somecompany.brokerage.party.onborading.api.outbound.db2.connector;

import com.somecompany.brokerage.party.onborading.api.outbound.db2.models.CustDto;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface DB2CustConnector extends JpaRepository<CustDto, Integer> {

    @Query("select CUST_ID from SAMS.CUST where TXPYR_ID = ':taxPayerId'")
    List<CustDto> retrieveCustomerIdByTaxPayerId(@Param("taxPayerId") String taxPayerId);

}

ESSAYÉ: Suppression de l'annotation et de la requête pour voir si c'est l'isse. Toujours obtenir l'erreur.

package com.somecompany.brokerage.party.onborading.api.outbound.db2.models;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.jdo.annotations.Unique;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@Table(name = "CUST", schema = "SAMS")
public class CustDto implements Serializable {

    private static final long serialVersionUID = -3304734256617027874L;

    @Id
    @Unique(name = "IXCUS1")
    @Column(name = "CUST_ID")
    private Integer customerId;

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

    @Column(name = "CUST_ADD_DT")
    private Integer customerAddDate;

    @Unique(name = "IXCUS2")
    @Column(name = "TXPYR_ID")
    private String taxPayerId;


}

REMARQUE: lors du débogage de org.hibernate.metamodel.internal.MetamodelImpl dans la méthode managedType, jpaEntityTypeMap est vide. Des idées sur la façon dont je peux faire en sorte que cela ait des valeurs puisque j'utilise déjà @Entity et @EntityScan?


5 commentaires

Pourquoi avez-vous toutes ces annotations sur la classe Spring Boot? Vous n'en avez pas besoin. Supprimez tout et ajoutez simplement @SpringBootApplication et réessayez


@SimonMartinelli si je supprime le jpa d'activation, il dit qu'il n'y a pas de bean lorsque je l'injecte dans une classe de service.


@SimonMartinelli Je l'ai réduit à juste {at} SpringBootApplication {at} EnableJpaRepositories et cela me donne toujours l'erreur de type non géré. Il semble que sans l'activation des dépôts jpa, il ne créera pas de bean avec l'annotation {at} Repository.


Qu'est-ce que vous injectez? L'entité?


@SimonMartinelli J'ai ajouté la classe Adapter qui injecte ce bean. L'adaptateur est ensuite utilisé dans le service pour appeler le DB2.


3 Réponses :


0
votes

La requête ressemble à une requête SQL, vous devez la changer en syntaxe de requête JPQL.

select c.customerId from CustDto c where c.taxPayerId = :taxPayerId


11 commentaires

Je l'ai changé en customerId et j'obtiens toujours la même erreur concernant pas un type géré.


Alors peut-être que l'erreur concerne la configuration. Spring Boot supprime déjà ce fardeau pour vous, supprimez simplement toutes les annotations de la classe principale avec @SpringBootApplication et exécutez à nouveau


Si je supprime la ligne enable jpa, il ne trouve pas de bean lorsque j'essaye de l'injecter dans un adaptateur de service. Je peux supprimer les packages d'analyse sur Spring Boot App.


quelle version de démarrage à ressort que vous utilisez?


Botte à ressort 2.2.5


Avez-vous essayé de supprimer les annotations du référentiel?


Quels dbms vous utilisez btw


Je vais essayer de supprimer la notation @Repository. dbms? Voulez-vous dire comme Hibernate ou est-ce que je comprends mal la demande?


je veux dire quelle base de données vous utilisez?


La suppression du @Repository n'a rien changé.


J'appelle la base de données DB2.



0
votes

Le problème réside dans @SpringBootApplication , essayez de supprimer le * dans le nom du package et essayez d'écrire la structure complète du package.

@SpringBootApplication(scanBasePackages = {
   "com.schwab.brokerage.party.onborading.api.outbound.db2.models"
})

Notez également que @EntityScan ne crée pas de beans. Seule @SpringBootApplication créera des beans, @EntityScan identifie uniquement les classes qui doivent être utilisées par un contexte de persistance spécifique.

Essayez de ne pas analyser tous les packages, comme tout dans le package de base ayant la classe principale, scannez tout ce qui se trouve dans le package, avec @Component ou toute annotation stéréotypée.


1 commentaires

Suppression de tous les packages d'analyse et il a jeté des erreurs sur d'autres beans non créés. J'ai ajouté celui-ci ci-dessus ici et il donne toujours la même erreur. C'est comme s'il ne voyait pas qu'il y avait une entité {at} dessus, mais c'est le cas.



0
votes

Donc, pour une raison quelconque, la suppression de l'application à la suivante a corrigé mon erreur.

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

@SpringBootApplication
@EnableJpaRepositories
public class BrokeragePartyOnboradingApplication {

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

}


1 commentaires

ATSpringBootApplication utilise ATEnableAutoConfiguration analyse déjà les classes ATEntity présentes dans le package de base. À moins que les entités ne soient définies séparément en dehors de l'analyse du package de base, vous n'aurez pas besoin d'ATEntityScan. Seul l'ATSpringBootApplication suffirait. Maintenant, pourquoi, dans votre cas, fournir à la fois ATEntityScan et ATSpringBootApplication provoque le problème doit être étudié.