gpt4 book ai didi

java - Hibernate 查询不从同一事务返回新添加的记录

转载 作者:行者123 更新时间:2023-11-30 23:10:16 26 4
gpt4 key购买 nike

我的实体就像

@Entity
@Table(name = "Item")
public class Item implements Serializable {

@Id
@GeneratedValue
@Column(name = "ID")
private long id;

@JoinColumn(name = "PARENT_ID")
@JsonIgnore
private Item parent;
}

我在一次交易中做了 3 件事

  1. 使用 EntityManager 保留一些项目
  2. hibernate 查询“来自 newIdList 中 id 的项目”
  3. hibernate 查询“来自 parent=parentid 的项目”

在持久化新项目后的第一步中,我执行 entityManager.flush(); 并且这里的刷新模式是提交。在第二步中,我给出了 hibernate 查询。在这里,我得到了正确的结果,但在第三步中,当我进行 hibernate 查询时,它返回了结果。但是这个结果不包含新持久化的查询。

我认为问题出在 parentId 条件上。根据要求,我无法更改条件。有什么办法可以解决这个问题吗?

最佳答案

@JoinColumn 不建立从 Item > Parent 的关系。

需要用相关的关联映射来注解这种关系,@OneToOne、@ManyToMany、@OneToMany、@ManyToOne等

关于java - Hibernate 查询不从同一事务返回新添加的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20089032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com