有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibrate查询不返回来自同一事务的新添加记录

我的实体就像

@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. 休眠查询“来自父项=父项ID的项”

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

我认为这个问题是由于parentId条件造成的。根据要求,我不能改变条件。我们有办法解决这个问题吗


共 (2) 个答案

  1. # 1 楼答案

    @JoinColumn未与项建立关系>;家长

    您需要使用相关的关联映射@OneToOne、@manytomy、@OneToMany、@manytomone等来注释此关系

  2. # 2 楼答案

    请在提交后尝试第三步。。。这不是你问题的直接解决办法,只是试一试