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件事
- 使用EntityManager保留某些项
- hibernate查询“来自newIdList中id所在的项”
- 休眠查询“来自父项=父项ID的项”
在持久化新项目后的第一步中,我执行entityManager.flush();
,这里的刷新模式是提交。
在第二步中,我给出了hibernate查询。这里我得到了正确的结果,但在第三步,当我执行hibernate查询时,它会返回结果。但此结果不包含新持久化的查询
我认为这个问题是由于parentId条件造成的。根据要求,我不能改变条件。我们有办法解决这个问题吗
# 1 楼答案
@JoinColumn未与项建立关系>;家长
您需要使用相关的关联映射@OneToOne、@manytomy、@OneToMany、@manytomone等来注释此关系
# 2 楼答案
请在提交后尝试第三步。。。这不是你问题的直接解决办法,只是试一试