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

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

卜昂熙
2023-03-14
问题内容

如果我的实体已计算字段,应先保存字段,然后再保存到数据库(db insertupdate),如何在Hibernate或Spring Data
Repository之前挂接方法调用save()


问题答案:

我认为最适合您的方法是EntityListener使用@PrePersist@PreUpdate注释,为实体侦听器创建配置,然后您将可以访问要保存的每个实例,每次尝试保留或更新内容时都会调用此方法。休眠或春季数据存储库

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之前挂接方法调用 问题答案: 我认为最好的选择是使用和注释,为实体侦听器创建配置,然后您将可以访问要保存的每个实例,每次尝试使用以下方法持久化或更新内容时都会调用此方法hibernate或spring数据存储库 您只需要在实体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 Data JPA存储库与规范查询我的数据库。因此,我创建了一个泛型类< code>SpecBuilder来基于查询描述(< code>MyQueryDescriptor)构建我的查询。 我的存储库: 和 现在有三件事我不太确定:< br> 1) 使用泛型SpecBuilder是一个干净的设计吗? 2) 有没有办法避免为每个实体编写这些存储库接口?假设一个通用存储库

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