当前位置: 首页 > 面试题库 >

onSave()(用于使用Hibernate / Spring数据存储库保存的任何实体)

窦啸
2023-03-14
问题内容

如果我的实体具有已计算字段,应在保存到数据库(db insertupdate)之前进行更新,如何在Hibernate或Spring Data
Repository之前挂接方法调用save()


问题答案:

我认为最好的选择是EntityListener使用@PrePersist@PreUpdate注释,为实体侦听器创建配置,然后您将可以访问要保存的每个实例,每次尝试使用以下方法持久化或更新内容时都会调用此方法hibernate或spring数据存储库

public class EntityToPersistListener{

   @PrePersist
   @PreUpdate
   public void methodExecuteBeforeSave(final EntityToPersist reference) {
      //Make any change to the entity such as calculation before the save process
      reference.setAmount(xxxx)
    }

}

您只需要在实体bean上方添加注释

@Entity
@Table(name = "", schema = "", catalog = "")
@EntityListeners(EntityToPersistListener.class)
public class EntityToPersist implements Serializable {

检查此链接以获取更多参考



 类似资料:
  • 问题内容: 如果我的实体已计算字段,应先保存字段,然后再保存到数据库(db 或),如何在Hibernate或Spring Data Repository之前挂接方法调用 问题答案: 我认为最适合您的方法是使用和注释,为实体侦听器创建配置,然后您将可以访问要保存的每个实例,每次尝试保留或更新内容时都会调用此方法。休眠或春季数据存储库 您只需要在实体bean上方添加注释 检查此链接以获取更多参考

  • 我是Hibernate的新手,并要求使用具有这些列的表的数据库 表:TBL _ product//库存项目列表< br >列:< br > key _ product < br > key _ category < br > fld _ product _ name < br > fld _ Inventory _ qty < br > fld _ unit _ price < br > fld

  • 我在使用JPA时遇到了一些困难。我没有得到任何异常,但我不能保存任何东西到数据库。我从Hibernate到Jpa,在那里一切都工作得很好。下面是我的文件 Application.Properties: 存储库: 服务: 我在提交表单时得到了200的响应,但在数据库中找不到数据

  • 这根本不是关于Spring靴的。 我的英语可以更好。 使用下面的Spring Data配置,我正在尝试执行DML请求。 恰好是< code>CrudRepository#save方法。 然而,执行Spring的CrudRepository#保存方法,我接下来要做的是: 只有选择由功能记录。 没有执行任何“插入”或“更新”语句来hibernate.show_sql日志记录。 数据库根本没有变化。 =

  • 我正在尝试实现一个简单的REST服务,该服务基于具有Spring启动和Spring数据Rest的JPA存储库。(请参阅此教程)如果将以下代码与 gradle 一起使用,则运行良好: 为了让事情变得更简单,我使用Spring boot CLI(“Spring run”命令)尝试了相同的代码。 不幸的是,这似乎不起作用@RepositoryRestResource似乎无法像@RestControlle