java.lang.IllegalArgumentException: Not a managed type: class

Jayesh Choudhary

I am creating Spring boot application with 2 different datasources. I have created configuration files for separate DB. Entities are in different package and Models are in different package for each database. When I run

mvn clean install

it creates database properly and all tables as well. But is always fails while creating repository. Below I am providing all necessary details:

Main class

@SpringBootApplication
@EnableAutoConfiguration
public class Demo {

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

Application.properties

spring.application.name= nyota-plateform
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.database= MYSQL
spring.jpa.generate-ddl= true
spring.jpa.hibernate.ddl-auto= update
spring.jpa.properties.hibernate.implicit_naming_strategy= org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl


spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.jdbc-url= jdbc:mysql://localhost:3306/DB1?useUnicode=true&createDatabaseIfNotExist=true&useSSL=false
spring.datasource.username= *
spring.datasource.password= *
spring.datasource.dbcp2.max-idle= 10000

authdb.datasource.driver-class-name=com.mysql.jdbc.Driver
authdb.datasource.jdbc-url= jdbc:mysql://localhost:3306/DB2?useUnicode=true&createDatabaseIfNotExist=true&useSSL=false
authdb.datasource.username= *
authdb.datasource.password= *
authdb.datasource.dbcp2.max-idle= 10000

Db1 configuration:

@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = { "com.test.demo.repo.db1" })
public class DatabaseConfiguration {

    @Primary
    @Bean(name = "dataSource")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }

    @Primary
    @Bean(name = "entityManagerFactory")
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder,
            @Qualifier("dataSource") DataSource dataSource) {
        return builder.dataSource(dataSource).packages("com.test.demo.model.db1").persistenceUnit("main").build();
    }

    @Primary
    @Bean(name = "transactionManager")
    public PlatformTransactionManager transactionManager(
            @Qualifier("entityManagerFactory") EntityManagerFactory entityManagerFactory) {
        return new JpaTransactionManager(entityManagerFactory);
    }

}

DB2 configuration:

@Configuration
    @EnableTransactionManagement
    @EnableJpaRepositories(basePackages = { "com.test.demo.repo.db2" })
    public class DatabaseConfiguration {

    @Primary
    @Bean(name = "dataSource2")
    @ConfigurationProperties(prefix = "authdb.datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "entityManagerFactory2")
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder,
            @Qualifier("dataSource2") DataSource dataSource) {
        return builder.dataSource(dataSource).packages("com.test.demo.model.db2").persistenceUnit("main").build();
    }

    @Bean(name = "transactionManager2")
    public PlatformTransactionManager transactionManager(
            @Qualifier("entityManagerFactory2") EntityManagerFactory entityManagerFactory) {
        return new JpaTransactionManager(entityManagerFactory);
    }
}

Db2 Model

@Entity
public class AuthUser {

    @Id
    @GeneratedValue
    private Long id;

    @Column
    private String name;

    @Column(nullable=false,unique=true)
    private String username;

    @Column(nullable=false)
    private String password;

    @Column(nullable=false)
    private String role;

    @Column
    private String uniqueId = UUID.randomUUID().toString();


    public AuthUser(String name, String username, String password, String role) {
        super();
        this.name = name;
        this.username = username;
        this.password = password;
        this.role = role;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Long getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String email) {
        this.username = email;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }

    public String getUniqueId() {
        return uniqueId;
    }

    public void setUniqueId(String uniqueId) {
        this.uniqueId = uniqueId;
    }
}

Repository

@Repository
public interface AuthUserRepository extends JpaRepository<AuthUser, Long> {

    public AuthUser findByUsernameAndPassword(String email,String password);
}

Now error Log:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authUserRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class com.test.demo.model.auth.AuthUser
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:579) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:741) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
    at com.test.demo.Demo.main(Demo.java:14) [classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
    at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:496) [spring-boot-maven-plugin-2.0.2.RELEASE.jar:2.0.2.RELEASE]

Can anyone help on this? What parameter I am missing or what I am doing wrong here? Thanks in advance!

Jayesh Choudhary

Found solution to my problem, All I need to do is to update following line in Database configuration file.
From :

@EnableJpaRepositories(basePackages = { "com.test.demo.repo.db1" })

To :

@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactory", transactionManagerRef = "transactionManager", basePackages = { "com.test.demo.repo.db1" })

Thanks for your help guys.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

java.lang.IllegalArgumentException: Not a managed type

From Dev

JPA - java.lang.IllegalArgumentException: The attribute [productName] is not present in the managed type

From Dev

Spring Data: Not an managed type: class java.lang.Object

From Dev

Spring Data: Not an managed type: class java.lang.Object

From Dev

java.lang.IllegalArgumentException: Unrecognized Type: [null]

From Dev

Java.lang.Class.newInstance() throws IllegalArgumentException

From Dev

java.lang.IllegalArgumentException: Cannot determine the graph element type because the document class is null.

From Dev

IllegalArgumentException: Cannot convert PROPERTY of type class org.omnifaces.el.ExpressionInspector$ValueExpressionType to class java.lang.Boolean

From Dev

java.lang.IllegalArgumentException: error Type referred to is not an annotation type

From Java

java.lang.IllegalArgumentException: No converter found for return value of type

From Dev

o:graphicImage throws java.lang.IllegalArgumentException: argument type mismatch

From Dev

java.lang.IllegalArgumentException: argument type mismatch on string array

From Dev

java.lang.IllegalArgumentException: No converter found for return value of type

From Dev

o:graphicImage throws java.lang.IllegalArgumentException: argument type mismatch

From Dev

Error:java.lang.IllegalArgumentException: Unexpected type tag 67 found

From Dev

java.lang.IllegalArgumentException: object is not an instance of declaring class

From Dev

java.lang.IllegalArgumentException: Cannot register after unregistered Filter class

From Dev

Hibernate : java.lang.IllegalArgumentException: object is not an instance of declaring class

From Dev

Caused by: java.lang.IllegalArgumentException: Bad class: class java.lang.String

From Dev

java.lang.IllegalArgumentException: Bad class: class java.lang.String

From Dev

I face this error java.lang.IllegalArgumentException: Could not locate call adapter for class java.lang.Object

From Dev

java.lang.IllegalArgumentException: Not a mock: java.lang.Class on PowerMock and EasyMock

From Dev

java.lang.IllegalArgumentException: Bad class: class java.util.GregorianCalendar

From Dev

JAVA: java.lang.IllegalArgumentException: Cannot subclass final class class [Lcom.package.testEntityDO;

From Dev

Spring - java.lang.IllegalArgumentException

From Dev

Why is there an java.lang.IllegalArgumentException?

From Dev

java.lang.IllegalArgumentException in adapter

From Dev

Error: java.lang.IllegalArgumentException

From Dev

Facing java.lang.IllegalArgumentException

Related Related

  1. 1

    java.lang.IllegalArgumentException: Not a managed type

  2. 2

    JPA - java.lang.IllegalArgumentException: The attribute [productName] is not present in the managed type

  3. 3

    Spring Data: Not an managed type: class java.lang.Object

  4. 4

    Spring Data: Not an managed type: class java.lang.Object

  5. 5

    java.lang.IllegalArgumentException: Unrecognized Type: [null]

  6. 6

    Java.lang.Class.newInstance() throws IllegalArgumentException

  7. 7

    java.lang.IllegalArgumentException: Cannot determine the graph element type because the document class is null.

  8. 8

    IllegalArgumentException: Cannot convert PROPERTY of type class org.omnifaces.el.ExpressionInspector$ValueExpressionType to class java.lang.Boolean

  9. 9

    java.lang.IllegalArgumentException: error Type referred to is not an annotation type

  10. 10

    java.lang.IllegalArgumentException: No converter found for return value of type

  11. 11

    o:graphicImage throws java.lang.IllegalArgumentException: argument type mismatch

  12. 12

    java.lang.IllegalArgumentException: argument type mismatch on string array

  13. 13

    java.lang.IllegalArgumentException: No converter found for return value of type

  14. 14

    o:graphicImage throws java.lang.IllegalArgumentException: argument type mismatch

  15. 15

    Error:java.lang.IllegalArgumentException: Unexpected type tag 67 found

  16. 16

    java.lang.IllegalArgumentException: object is not an instance of declaring class

  17. 17

    java.lang.IllegalArgumentException: Cannot register after unregistered Filter class

  18. 18

    Hibernate : java.lang.IllegalArgumentException: object is not an instance of declaring class

  19. 19

    Caused by: java.lang.IllegalArgumentException: Bad class: class java.lang.String

  20. 20

    java.lang.IllegalArgumentException: Bad class: class java.lang.String

  21. 21

    I face this error java.lang.IllegalArgumentException: Could not locate call adapter for class java.lang.Object

  22. 22

    java.lang.IllegalArgumentException: Not a mock: java.lang.Class on PowerMock and EasyMock

  23. 23

    java.lang.IllegalArgumentException: Bad class: class java.util.GregorianCalendar

  24. 24

    JAVA: java.lang.IllegalArgumentException: Cannot subclass final class class [Lcom.package.testEntityDO;

  25. 25

    Spring - java.lang.IllegalArgumentException

  26. 26

    Why is there an java.lang.IllegalArgumentException?

  27. 27

    java.lang.IllegalArgumentException in adapter

  28. 28

    Error: java.lang.IllegalArgumentException

  29. 29

    Facing java.lang.IllegalArgumentException

HotTag

Archive