Replies: 1 comment
-
这种对比有损失性能,默认不做。 如果要优化此问题,可以选择对比orginal对象和draft对象的值。利用Jimmer对象的内部反射API(draft和orignal都可以转化为ImmutableSpi对象),很容易自动化服用。
此为万能逻辑,整个项目做一次即可复用 另外DraftInterceptor可以访问IOC框架的业务上下文,这是和JPA JPA中任何ORM独有的业务上下无关的功能,全部是替换成了可以访问IOC框架业务上下文的功能。例如这里的DraftInerceptor |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hibernate有个@UpdateTimestamp注解,是框架自己管理的当对象发生变更的时候触发修改时间的变更
我是打算从Hibernate替换成jimmer,所以以前的注解希望尽可能兼容。我用的是postgresql数据库,对update_time字段数据库是没有设置触发器的
我尝试通过jimmer的beforeSave拦截器里设置修改时间,但这样会导致关联对象我按需修改字段时,即使没有变更字段,在拦截器也会设置上新的updateTime导致对象被修改,这里的实现机制和hibernate应该不一样吧,是否有办法实现和hibernate同样的效果呢?
这个问题issues提过,没完全解决,我给的例子就是实现了DraftInterceptor接口,但不能达成目的,为了实现通用的设计难道要在beforeSave里用反射判断每个字段是否有变化吗?
Beta Was this translation helpful? Give feedback.
All reactions