将@Configuration 文件指向hbm.xml
Point @Configuration file to hbm.xml
我有一个库,其中包含一些我想使用休眠保存在我的数据库中的对象。
我最终为每个对象制作了 hbm.xml 个文件。现在我有了 AppConfig class
@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());
}
}
如何将它指向我新创建的 hbm.xml 个文件?
或者如果这不可能,那么我将如何为我没有写入权限的对象创建休眠映射?
唯一的限制是我无法编写我的应用程序配置在 xml 中,有太多现在无法移动到 xml 的内容。
务实地说,我会选择:
@Bean(name = "sessionFactory")
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean localSession = new LocalSessionFactoryBean();
localSession.setDataSource(dataSource());
localSession.setMappingResources("my.hmb.xml", "files.hbm.xml");
return localSession;
}
(当 hbm 文件位于 class 路径的根目录时 - 例如 src/main/resources
)
我有一个库,其中包含一些我想使用休眠保存在我的数据库中的对象。
我最终为每个对象制作了 hbm.xml 个文件。现在我有了 AppConfig class
@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());
}
}
如何将它指向我新创建的 hbm.xml 个文件?
或者如果这不可能,那么我将如何为我没有写入权限的对象创建休眠映射?
唯一的限制是我无法编写我的应用程序配置在 xml 中,有太多现在无法移动到 xml 的内容。
务实地说,我会选择:
@Bean(name = "sessionFactory")
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean localSession = new LocalSessionFactoryBean();
localSession.setDataSource(dataSource());
localSession.setMappingResources("my.hmb.xml", "files.hbm.xml");
return localSession;
}
(当 hbm 文件位于 class 路径的根目录时 - 例如 src/main/resources
)