1

我有一个具有日期属性的映射类。我想 saveOrUpdate 此类的对象,以便只有当它比存储的旧时才更新已经存在的对象。

我将如何做到这一点(如果可能的话,整齐而有效地)?

我有很多这样的类,所以我希望避免为所有这些类编写大量的自定义 HQL。

4

2 回答 2

0

不知道这是如何在 java 中实现的,但我相信你可以做类似的事情。

仅供参考,以下类是特定于 NHibernate

您可以扩展DefaultSaveOrUpdateEventListener类并覆盖该PerformSaveOrUpdate方法,在此方法中您可以编写自定义代码,帮助您识别其中具有 Date 属性的类(具有所有这些类都需要实现的抽象类/接口),然后设置这个属性,然后调用基SaveOrUpdate方法。

然后在构建Configuration时添加此侦听器。请参阅 Hibernate 文档以了解如何执行此操作。

希望这对您有所帮助。

于 2012-04-12T10:04:23.640 回答
0

尝试查看 Spring 中的 HibernateTemplate.saveOrUpdate 。它具有与 required.bieng 开源相同的功能,您可能会看到代码以及实现

于 2012-04-12T09:52:31.960 回答