我有一个具有日期属性的映射类。我想 saveOrUpdate 此类的对象,以便只有当它比存储的旧时才更新已经存在的对象。
我将如何做到这一点(如果可能的话,整齐而有效地)?
我有很多这样的类,所以我希望避免为所有这些类编写大量的自定义 HQL。
不知道这是如何在 java 中实现的,但我相信你可以做类似的事情。
仅供参考,以下类是特定于 NHibernate
您可以扩展DefaultSaveOrUpdateEventListener
类并覆盖该PerformSaveOrUpdate
方法,在此方法中您可以编写自定义代码,帮助您识别其中具有 Date 属性的类(具有所有这些类都需要实现的抽象类/接口),然后设置这个属性,然后调用基SaveOrUpdate
方法。
然后在构建Configuration
时添加此侦听器。请参阅 Hibernate 文档以了解如何执行此操作。
希望这对您有所帮助。
尝试查看 Spring 中的 HibernateTemplate.saveOrUpdate 。它具有与 required.bieng 开源相同的功能,您可能会看到代码以及实现