jpa:如何检查实体是否持久化?

jpa:如何检查实体是否持久化?,jpa,Jpa,JPA实体:如何检查实体是否已持久化 检查id: 实体id可以在持久化之前由用户设置。所以它是不可靠的 检查版本: 实体不需要版本 em.contains(实体) 如果实体被分离,它将返回false 您可以使用带有@PostPersist注释的记录器内部侦听器方法。。检查更多信息JPA的save方法返回持久化实体,该实体永远不能为null 您可以简单地null检查给定实体是否被持久化 User user = userRepository.save(new User(FIRSTNAME, LAST

JPA实体:如何检查实体是否已持久化

  • 检查id:


    实体id可以在持久化之前由用户设置。所以它是不可靠的

  • 检查版本:

    实体不需要版本

  • em.contains(实体)

    如果实体被分离,它将返回false


  • 您可以使用带有
    @PostPersist
    注释的记录器内部侦听器方法。。检查更多信息

    JPA的
    save
    方法返回持久化实体,该实体
    永远不能
    null

    您可以简单地
    null
    检查给定实体是否被持久化

    User user = userRepository.save(new User(FIRSTNAME, LASTNAME));
    if(user != null) {
        //User entity is successfully persisted.
    }
    

    S保存(S实体)

    保存给定的实体。将返回的实例用于进一步的操作 因为保存操作可能已更改实体实例 完全是

    参数:实体-不能为空

    返回:保存的实体永远不会为空。


    找到了吗?(在清除L1/L2缓存后)“实体id可由用户在持久化之前设置。”。永远不要向用户提供设置或更改ID的方法。提交传输时,实体将被持久化。我们可以从save()方法进行检查。但一般来说,给定一个实体,如何在不重新加载的情况下检查它是否已被持久化?