是否可以将hbm.xml的hibernate映射嵌入到jar中,并避免在applicationContext.xml中手动引用,例如
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value> com/…/domain/Question.hbm.xml
并指向一个jar/等? Nhibernate可以选择一个程序集,从该程序集拾取hbm。 注释不是一种选择
编辑: 编辑:我的意图是删除对hbm的手动引用,并指向hibernate可以从中获取的通用位置
<list> <value> com/.../Question.hbm.xml </value> <value>com/.../Users.hbm.xml</value> <value> com/.../Answers.hbm.xml </value>
还要澄清一下:您正在专门一起谈论Spring和Hibernate,因为要显示的配置是Spring的Hibernate配置。Spring LocalSessionFactoryBean接受多种不同的方法来设置Hibernate映射文件的位置。你只显示了使用mappingResources的参数,但也有mappingLocations,mappingJarLocations和mappingDirectoryLocations。
LocalSessionFactoryBean
mappingResources
mappingLocations
mappingJarLocations
mappingDirectoryLocations
我认为对于您的示例,您可能想要使用mappingDirectoryLocations并将其仅指向JAR中的特定目录,例如:
<property name="mappingDirectoryLocations"> <list> <value> com/…/domain/ </value> </list> </property>