【问题标题】:force refresh object parent after add a child object jpa添加子对象jpa后强制刷新对象父对象
【发布时间】:2017-05-10 08:34:33
【问题描述】:

在数据库中创建对象子对象后,我使用 JpaRepository。 我检索了一个对象 Parent 但父对象中不存在新的孩子。 级联不刷新。

为了检索父对象,我使用 findOne 或 getOne 方法,但问题是一样的。我正在尝试使用,但问题是一样的:

	@Query("select u from User u where u.id=:x")
	public User findUserById(@Param("x") String id);

一个用户有一个配置文件的集合,一个配置文件有一个用户。有一次,我在尝试检索用户后创建了一个配置文件,但新的配置文件添加它不在这里

In User Entity 
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL) @LazyCollection(LazyCollectionOption.FALSE) 
private Collection<Profil> profils; 

In profil entity 
@ManyToOne(cascade = CascadeType.ALL) 
private User user; 

如何使用 DB 中的新元素强制刷新 jpa? 谢谢

【问题讨论】:

  • 您能提供您的服务吗?
  • 为什么不附上所有这些?
  • 附上,没看懂?
  • 请分享您的实体和服务
  • 我分享你需要的代码,我有很多功能。这可能是 jpa 中的问题缓存,但我没有成功解决它,谢谢

标签: spring hibernate jpa spring-boot spring-data-jpa


【解决方案1】:

EntityManager 接口有方法

void refresh(Object entity)

或者您可以尝试访问缓存并 evict() 实体

entityManager.getEntityManagerFactory().getCache().evict(...) or evictAll();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 2022-01-19
    相关资源
    最近更新 更多