我们假设我有这门课程:
Intent innerIntent = new Intent(context, MainActivity.class);
PendingIntent notificationPendingIntent = PendingIntent.getActivity(context, 0, innerIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Intent dismissIntent = new Intent(context, ExitService.class);
PendingIntent piDismiss = PendingIntent.getService(context, 0, dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT);
android.support.v4.app.NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(context.getString(R.string.app_name))
.setContentText(context.getString(R.string.ongoing_short_text))
.setCategory(Notification.CATEGORY_SERVICE)
.setPriority(Notification.PRIORITY_MAX)
.setVisibility(Notification.VISIBILITY_PRIVATE)
.setContentIntent(notificationPendingIntent)
.setAutoCancel(true)
.setOnlyAlertOnce(true)
.setLights(context.getResources().getColor(R.color.primary), 50, 10000) .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setVibrate(new long[]{0, 50})
.setOngoing(true)
.setStyle(new NotificationCompat.BigTextStyle().bigText(context.getString(R.string.ongoing_long_text)))
.addAction(R.mipmap.ic_stop, context.getString(R.string.dismiss), piDismiss);
int mNotificationId = ONGOING_NOTIFICATION_ID;
NotificationManager mNotifyMgr = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
mNotifyMgr.notify(mNotificationId, mBuilder.build());
MyListener类将看起来:
@EntityListeners({MyListener.class})
class MyClass {
String name;
String surname;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return name;
}
public void setSurname(String name) {
this.name = name;
}
}
MyListener类中的onPostPersist()方法将在更改MyClass实例字段时被调用。
是否可以发现因特定字段更改而调用此方法?
例如: 如果我单独更改名称字段,我应该能够找到姓名字段在最后一次持续更改。
通过与审核进行比较来检查的一种方法。
我想了解更改方法(如果有的话)。
由于
答案 0 :(得分:1)
您所描述的仅对更新事件有意义。您可以注册interceptor并在覆盖的onFlushDirty
方法中监听更改:
onFlushDirty(Object entity,
Serializable id,
Object[] currentState,
Object[] previousState,
String[] propertyNames,
Type[] types)
这里有先前和当前状态的数组以及一系列属性,因此您可以轻松找到更改的内容。