0

有没有更好的方法来检查/检测实体是否在数据库中更新?原因是系统会发布对外部 Web 服务的任何更改,如果没有更改,我们不想发布,因为 Web 服务响应缓慢(我们希望在发布可变文本长度时保持肥皂体光亮)。

我目前的方法如下所述:

对于给定的实体:

public class Comment {
   int id;
   String text;
}

在我的服务类中,我会像这样检测它:

public class CommentServiceImpl {
   void saveList(List<Comment> comments) {
      for(Comment c : comments) {
         Comment existing = this.findById(c.id);
         if (existing != null) {
            boolean nochange = existing.getText().equals(c.getText());
            if (nochange) { 
               //do nothing, we don't want to publish to external webservice
            } else {
               this.save(c);
               externalWs.publish(c);
            }
      }
   }
}
4

1 回答 1

0

这不是 JPA 中的答案,但是,如果您使用的是 Oracle,DCN 是一个非常好的 api。核实:

http://docs.oracle.com/cd/E11882_01/java.112/e16548/dbchgnf.htm

于 2013-08-29T10:52:54.623 回答