真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

EntityListeners注解怎么在JPA中使用

EntityListeners注解怎么在JPA中使用?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯建站主營昌邑網站建設的網絡公司,主營網站建設方案,App定制開發(fā),昌邑h5微信小程序開發(fā)搭建,昌邑網站營銷推廣歡迎昌邑等地區(qū)企業(yè)咨詢

使用場景

EntityListeners在jpa中使用,如果你是mybatis是不可以用的

它的意義

對實體屬性變化的跟蹤,它提供了保存前,保存后,更新前,更新后,刪除前,刪除后等狀態(tài),就像是攔截器一樣,你可以在攔截方法里重寫你的個性化邏輯。

它的使用

定義接口,如實體追蹤

/**
 * 數據建立與更新.
 */
public interface DataEntity {

 Timestamp getDateCreated();

 void setDateCreated(Timestamp dateCreated);

 Timestamp getLastUpdated();

 void setLastUpdated(Timestamp lastUpdated);

 Long getDateCreatedOn();

 void setDateCreatedOn(Long dateCreatedOn);

 Long getLastUpdatedOn();

 void setLastUpdatedOn(Long lastUpdatedOn);

}

定義跟蹤器

@Slf4j
@Component
@Transactional
public class DataEntityListener {
 @PrePersist
 public void prePersist(DataEntity object)
   throws IllegalArgumentException, IllegalAccessException {
  Timestamp now = Timestamp.from(Instant.now());
  object.setDateCreated(now);
  object.setLastUpdated(now);
  logger.debug("save之前的操作");
 }

 @PostPersist
 public void postpersist(DataEntity object)
   throws IllegalArgumentException, IllegalAccessException {

  logger.debug("save之后的操作");
 }

 @PreUpdate
 public void preUpdate(DataEntity object)
   throws IllegalArgumentException, IllegalAccessException {
  Timestamp now = Timestamp.from(Instant.now());
  object.setLastUpdated(now);
  logger.debug("update之前的操作");
 }

 @PostUpdate
 public void postUpdate(DataEntity object)
   throws IllegalArgumentException, IllegalAccessException {
  logger.debug("update之后的操作");
 }

 @PreRemove
 public void preRemove(DataEntity object) {
  logger.debug("del之前的操作");

 }

 @PostRemove
 public void postRemove(DataEntity object) {
  logger.debug("del之后的操作");

 }
}

實體去實現這個對應的跟蹤接口

@EntityListeners(DataEntityListener.class)
public class Product implements DataEntity {
   @Override
 public Timestamp getDateCreated() {
  return createTime;
 }

 @Override
 public void setDateCreated(Timestamp dateCreated) {
  createTime = dateCreated;
 }

 @Override
 public Timestamp getLastUpdated() {
  return lastUpdateTime;
 }

 @Override
 public void setLastUpdated(Timestamp lastUpdated) {
  this.lastUpdateTime = lastUpdated;
 }

 @Override
 public Long getDateCreatedOn() {
  return createOn;
 }

 @Override
 public void setDateCreatedOn(Long dateCreatedOn) {
  createOn = dateCreatedOn;
 }

 @Override
 public Long getLastUpdatedOn() {
  return lastUpdateOn;
 }

 @Override
 public void setLastUpdatedOn(Long lastUpdatedOn) {
  this.lastUpdateOn = lastUpdatedOn;
 }
}

看完上述內容,你們掌握EntityListeners注解怎么在JPA中使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道,感謝各位的閱讀!


新聞標題:EntityListeners注解怎么在JPA中使用
URL鏈接:http://weahome.cn/article/gipiee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部