代码之家  ›  专栏  ›  技术社区  ›  Quillion

将@配置文件指向hbm.xml

  •  1
  • Quillion  · 技术社区  · 7 年前

    我有一个库,其中包含一些我想使用hibernate保存在数据库中的对象。

    我最终制作了hbm。每个对象的xml文件。现在我有了AppConfig类

    @Configuration
    @ComponentScan("some.company")
    @EnableAutoConfiguration(exclude = HibernateJpaAutoConfiguration.class)
    @EnableTransactionManagement
    public class AppConfig
            extends WebMvcConfigurerAdapter
    {
        @Bean(name = "dataSource")
        public DataSource dataSource()
        {
            DriverManagerDataSource dataSource = new DriverManagerDataSource();
            dataSource.setUrl("jdbc:mysql://localhost:3306/somedatabase");
            dataSource.setUsername("user");
            dataSource.setPassword("password");
            return dataSource;
        }
    
        @Bean(name = "sessionFactory")
        public LocalSessionFactoryBean sessionFactory()
        {
            LocalSessionFactoryBean localSession = new LocalSessionFactoryBean();
            localSession.setDataSource(dataSource());
            return localSession;
        }
    
        @Bean(name = "transactionManager")
        public HibernateTransactionManager transactionManager()
        {
            return new HibernateTransactionManager(sessionFactory().getObject());
        }
    }
    

    或者,如果这不可能,那么我将如何为我没有写访问权限的对象创建休眠映射?
    唯一的限制是我不能用xml编写我的应用程序配置,有太多内容现在无法移动到xml。

    1 回复  |  直到 7 年前
        1
  •  1
  •   xerx593    7 年前

    实际上,我会选择:

    @Bean(name = "sessionFactory")
    public LocalSessionFactoryBean sessionFactory() {
        LocalSessionFactoryBean localSession = new LocalSessionFactoryBean();
        localSession.setDataSource(dataSource());
    
        localSession.setMappingResources("my.hmb.xml", "files.hbm.xml");
    
        return localSession;
    }
    

    src/main/resources )