Сущность не является управляемым типом - PullRequest
0 голосов
/ 07 мая 2020

Я получаю следующую ошибку: Не управляемый тип: class com.uci.bank.entity.User.

Я пробовал EntityScan, ComponentScan, EnableJpaRepositories, packagesToScan ... почти все. Мне нужна помощь.

Вот мой код ниже. Я настроил все в соответствии с другими связанными сообщениями StackOverflow, но я все еще не могу заставить его работать. Я очень ценю помощь. Кстати, я использую Hibernate.

DatabaseConfig:


@Configuration
@EnableJpaRepositories("com.uci.bank.repository")
@EntityScan("com.uci.bank.entity")
public class DatabaseConfig {

    @Value("${database.url}")
    String url;

    @Value("${database.user}")
    String user;

    @Value("${database.password}")
    String password;

    @Value("${database.driver}")
    String driver;

    @Value("${database.persistenceUnit}")
    String persistenceUnit;

    @Value("${hibernate.dialect}")
    String dialect;

    @Value("${hibernate.showSql}")
    String showSql;

    @Value("${hibernate.formatSql}")
    String formatSql;

    @Value("${hibernate.hbm2ddl}")
    String hbm2ddl;

    @Bean(name = "dataSource")
    public org.springframework.jdbc.datasource.DriverManagerDataSource dataSource() {

        org.springframework.jdbc.datasource.DriverManagerDataSource ds = new org.springframework.jdbc.datasource.DriverManagerDataSource();
        ds.setDriverClassName(this.driver);
        ds.setUrl(this.url);
        ds.setUsername(this.user);
        ds.setPassword(this.password);

        return ds;
    }

    @Bean(name = "entityManagerFactory")
    public org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean entityManagerFactory() {

        org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean entityManagerFactory = new org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean();
        entityManagerFactory.setDataSource(this.dataSource());
        entityManagerFactory.setPersistenceUnitName(this.persistenceUnit);
        entityManagerFactory.setPackagesToScan("com.uci.bank.entity");
        entityManagerFactory.setJpaVendorAdapter(new org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter());

        Map<String, String> jpaProperties = new HashMap<>();
        jpaProperties.put("hibernate.dialect", this.dialect);
        jpaProperties.put("hibernate.show_sql", this.showSql);
        jpaProperties.put("hibernate.format_sql", this.formatSql);
        jpaProperties.put("hibernate.hbm2ddl.auto", this.hbm2ddl);
        entityManagerFactory.setJpaPropertyMap(jpaProperties);

        return entityManagerFactory;
    }

    @Bean(name = "transactionManager")
    public org.springframework.orm.jpa.JpaTransactionManager transactionManager() {
        org.springframework.orm.jpa.JpaTransactionManager tm = new org.springframework.orm.jpa.JpaTransactionManager();
        tm.setEntityManagerFactory(this.entityManagerFactory().getNativeEntityManagerFactory());
        return tm;
    }

}

Entity

@Builder
@Getter
@Setter
@Entity
@Table(name = "tb_users")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id", nullable = false)
    private Long id;

    @Column(name = "username", length = 127, nullable = false)
    private String username;

    @Column(name = "password", length = 127, nullable = false)
    private String password;

    @Column(name = "balance", nullable = false)
    private double balance;
}


Repository

@Repository
public interface UserRepository extends JpaRepository<User, Long> { }

Main


@SpringBootApplication
@ComponentScan("com.uci.bank")
@PropertySource(value = "file:application.properties")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

application.properties

database.driver=org.sqlite.JDBC
database.url=jdbc:sqlite:bank.db
database.user=USER
database.password=PASSWORD
database.persistenceUnit=jpaData

hibernate.dialect=org.hibernate.dialect.SQLiteDialect
hibernate.showSql=true
hibernate.formatSql=true
hibernate.hbm2ddl=validate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...