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