我的同事和我继承了一个包含一些域类和弹簧上下文的jar,它为Hibernate创建了一个会话工厂。这是上下文文件的休眠片段的编辑版本:
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="dataSource" class="com.ours.OurDataSource">
<constructor-arg value="dml-rdbms-data-source.properties" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="searchSessionFactory" />
</bean>
<!-- Hibernate SessionFactory -->
<bean id="searchSessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="annotatedClasses">
<list>
<value>a.b.c.DefGhe</value>
<value>a.b.c.Xyz</value>
</list>
</property>
<property name="hibernateProperties">
<bean class="our.com.ManagedPropertiesFactory" factory-method="getProperties">
<constructor-arg value="hibernate.properties" />
</bean>
</property>
</bean>
我将sessionFactory bean更改为searchSessionFactory,以避免与内置的grails hibernate会话工厂发生名称冲突。这似乎没有帮助。尝试保存Grails生成的域类时,我仍然遇到此错误:
Unknown entity: x.y.z.DomClass; nested exception is org.hibernate.MappingException: Unknown entity: x.y.z.DomClass
有没有人遇到过必须将现有的hibernate功能集成到Grails中的情况?
答案 0 :(得分:0)
这个问题现在似乎已经解决了,所以我们采取了解决问题的方法:
部分问题是定义的dataSource
,sessionFactory
和transactionManager
bean与Grails&#39;约定。 Grails根据DataSource.groovy中提供的数据生成它们。它正在接受这些定义,事情没有奏效,因为它被覆盖了。