我正在使用Spring Boot 2.0和我的实体上的注释。我想删除注释并切换到使用XML配置文件将域模型映射到数据库,以便从域模型中删除任何技术实现的迹象。
问题是,我找不到如何配置spring boot以使用休眠映射文件。
我很高兴Spring可以设置数据库连接,但是如果可能的话,我想通过XML管理映射。
答案 0 :(得分:1)
偶然地,我创建了文件夹resources / hibernate,然后创建了一个映射文件user.hbm.xml,然后从实体类中删除了注释,Spring似乎自动选择了Hibernate XML文件。 / p>
答案 1 :(得分:0)
也许您可以使用LocalSessionFactoryBean
来设置映射位置。 (请参阅:Alert(AlertType,String,ButtonType...)
)
也许是这样的:
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setMappingResources(...locations of your xml);
//Other configutation omitted
return sessionFactory;
}
可以工作。
注意:我尚未测试解决方案。
答案 2 :(得分:0)
无需配置,只需将* .hbm.xml文件放在src / main / resources文件夹下,Spring Boot可以自动扫描它们。
在测试中,我已将Item.hbm.xml放在/ src / main / resources / hibnerate文件夹下,并且我可以成功地从数据库加载该项目
答案 3 :(得分:0)
如果您使用 LocalSessionFactoryBean 创建 sessionfactory bean,则创建以下属性并将所有 *.hbm.xml 文件保存在资源文件夹中或类路径应该可以解决问题。
<property name="mappingResources">
<list>
<value>MyMapping.hbm.xml</value>
</list>
</property>