有没有更好的方法来检查/检测实体是否在db中更新?原因是系统发布对外部Web服务的任何更改,如果没有更改,我们不想发布,因为Web服务响应缓慢(我们希望保持肥皂体轻,因为我们发布变量文本长度)。 / p>
我目前的方法如下所述:
对于给定的实体:
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);
}
}
}
}
答案 0 :(得分:0)
这不是JPA的答案,但是,如果您使用的是Oracle,DCN是一个相当不错的API。检查一下:
http://docs.oracle.com/cd/E11882_01/java.112/e16548/dbchgnf.htm