Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 上次更新者显示登录的用户名_Java_Hibernate_Entity_Seam - Fatal编程技术网

Java 上次更新者显示登录的用户名

Java 上次更新者显示登录的用户名,java,hibernate,entity,seam,Java,Hibernate,Entity,Seam,在我的项目中,在基本实体类中,我们有“上次更新人”和“上次更新日期”字段。其他实体类正在扩展基本实体类。要更新上次更新的,基本实体中有一个方法。对于此方法,使用@PrePersist和@PreUpdate注释。这导致了一个问题。假设一个管理员A更新了一个用户配置文件,然后最后一个更新者在DB中更新为A。但是,如果另一个管理员B登录到应用程序并看到更新的用户配置文件,则上次更新的用户配置文件显示为B。在这里,B只是查看尚未更新的用户配置文件并保存。在获取用户详细信息以查看其配置文件时,将使用用户对

在我的项目中,在基本实体类中,我们有“上次更新人”和“上次更新日期”字段。其他实体类正在扩展基本实体类。要更新上次更新的,基本实体中有一个方法。对于此方法,使用@PrePersist和@PreUpdate注释。这导致了一个问题。假设一个管理员A更新了一个用户配置文件,然后最后一个更新者在DB中更新为A。但是,如果另一个管理员B登录到应用程序并看到更新的用户配置文件,则上次更新的用户配置文件显示为B。在这里,B只是查看尚未更新的用户配置文件并保存。在获取用户详细信息以查看其配置文件时,将使用用户对象来扩展基本实体类。是否有解决此问题的方法?如果需要任何其他详细信息,请告诉我。

请尝试@PostPersist和@PostUpdate

我试过用这个。但它不会在保存时更新值,即A创建了一个用户,该用户的最后一个更新者是A。现在,管理员B编辑同一个用户,然后数据库中的最后一个更新者值也是A,因为在用户实体持久化后调用了基实体方法。您可以检查此项。告诉mi这是否适用于拦截器。