Java 在spring boot中应该在哪里定义实体模型类

Java 在spring boot中应该在哪里定义实体模型类,java,spring,hibernate,spring-boot,Java,Spring,Hibernate,Spring Boot,我穿着一款基于java的应用程序,使用Spring Boot 这就是模型: @Entity @Table(name = "task_list") public class Task implements Serializable 这是Spring boot用来启动的配置类: @Configuration @EnableAutoConfiguration @EnableJpaRepositories @EnableTransactionManagement @ComponentScan(bas

我穿着一款基于java的应用程序,使用Spring Boot

这就是模型:

@Entity
@Table(name = "task_list")
public class Task implements Serializable 
这是Spring boot用来启动的配置类:

@Configuration
@EnableAutoConfiguration
@EnableJpaRepositories
@EnableTransactionManagement
@ComponentScan(basePackages = {"controller", "dao", "service"})
class Config {


    @Bean(name = "dataSource")
    public DataSource dataSource() {
        EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
        return builder.setType(EmbeddedDatabaseType.HSQL).build();
    }

    @Bean(name = "entityManager")
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        vendorAdapter.setDatabase(Database.HSQL);
        vendorAdapter.setGenerateDdl(true);

        LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
        factory.setJpaVendorAdapter(vendorAdapter);
        factory.setPackagesToScan(getClass().getPackage().getName());
        factory.setDataSource(dataSource());

        return factory;
    }

    @Bean
    public PlatformTransactionManager transactionManager() {
        return new JpaTransactionManager();
    }
这是应用程序:

@SpringBootApplication()
public class Application {

    public static void main(String[] args) {

        SpringApplication.run(Config.class);

    }
}
因此,当我运行应用程序时,它工作并创建所有bean,但 当我想与数据库交互时,Hibernate出现了这个错误

org.hibernate.MappingException: Unknown entity: model.Task
我认为这是因为没有任何persistence.xml映射 模范班

那么,我应该在SpringBoot应用程序中做什么呢? xml应该放在哪里? 是否有任何注释告诉spring boot映射模型类


提前感谢。

感谢Xtreme Biker,我解决了这个问题

我只是在
LocalContainerEntityManagerFactoryBean
中添加了模型包

@Bean(name = "entityManager")
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        vendorAdapter.setDatabase(Database.HSQL);
        vendorAdapter.setGenerateDdl(true);

        LocalContainerEntityManagerFactoryBean factory = new     LocalContainerEntityManagerFactoryBean();
        factory.setJpaVendorAdapter(vendorAdapter);
        factory.setPackagesToScan("model");
        factory.setDataSource(dataSource());

        return factory;
    }

如果配置正确,您不需要自己声明任何
DataSource
或任何
EntityManager
。Spring Boot可以在幕后为您管理它们。您甚至不需要创建实体管理器。您只需要spring存储库接口并在那里定义实体。然后在一些服务逻辑中添加存储库,瞧,数据库处理非常快速和简单。