Hibernate 4.3.5升级问题

时间:2014-07-24 04:17:01

标签: java hibernate

我是Hibernate的新手,目前正在将Hibernate从4.1.9升级到4.3.5。这是现有的hibernate jar列表:

  

antlr-2.7.7.jar,hibenate-commons-annotations-4.0.1.Final.jar ,hibernate-core-4.1.9.Final.jar ,hibernate-jpa-2.0-api-1.0.1.Final.jar ,javassist-3.17.1-GA.jar ,jboss-logging-3.1.0.GA.jar,jboss-transaction-api_1.1_spec-1.0.0.Final.jar

我用最新的Hibernate罐子取代了这些罐子。这是清单:

  

antlr-2.7.7.jar,hibernate-commons-annotations-4.0.4.Final.jar,hibernate-core-4.3.5.Final.jar,hibernate-jpa-2.1-api-1.0.0.Final.jar,javassist-3.18.1-GA.jar,jboss-logging-3.1.3.GA.jar,jboss-transaction-api_1.2_spec-1.0.0.Final.jar

更换罐后我收到编译错误,我更改了以下代码来解决问题:

/* Existing code */
ServiceRegistry serviceRegistry =
   new ServiceRegistryBuilder()
   .applySettings(config.getProperties())
   .buildServiceRegistry();

/* Modified code */
ServiceRegistry serviceRegistry =
   new ServiceRegistryBuilder()
   .applySettings(config.getProperties())
   .build();

问题:当我运行我的应用程序时,其中一个操作是空HashSet,而早期版本的Hibernate jar则获得PersistentSet。 我正在检查对象是否为空。使用PersistentSet它会清除检查,但是HashSet无法检查相同的数据。

我还有什么需要做这次升级吗?在进行此升级时,是否需要更改以处理此类情况?

该应用程序正在使用Hibernate映射。这是我上面讨论的集合的映射:

<set name="Code" cascade="all-delete-orphan" inverse="true" where="created_date=(select max(c.created_date) from dma_step_code c where c.step_id=step_id)">
   <key column="step_id"/>
   <one-to-many class="com.hp.dma.data.action.SOPActionCode" />
</set>

0 个答案:

没有答案