3.4.8. EntityPersistingEvent

最低版本7.1

EntityPersistingEvent 是 Spring 的 ApplicationEvent,是框架在中间层 新实体 保存到数据库之前触发的事件。在触发事件的时候,存在一个活动的数据库事务。

EntityPersistingEvent 可以用来在写入数据库之前初始化实体属性:

  1. package com.company.demo.core;
  2. import com.company.demo.entity.Customer;
  3. import com.haulmont.cuba.core.app.events.EntityPersistingEvent;
  4. import org.springframework.context.event.EventListener;
  5. import org.springframework.stereotype.Component;
  6. @Component("demo_CustomerChangedListener")
  7. public class CustomerChangedListener {
  8. @EventListener
  9. void beforePersist(EntityPersistingEvent<Customer> event) {
  10. Customer customer = event.getEntity();
  11. customer.setCode(obtainNewCustomerCode(customer));
  12. }
  13. // ...
  14. }