gpt4 book ai didi

java - Hibernate加载了一个惰性代理,但我只需要PK

转载 作者:搜寻专家 更新时间:2023-10-31 20:03:51 25 4
gpt4 key购买 nike

我有这些实体:

@Entity
public class Room {

@ManyToOne(optional=true,fetch=FetchType.LAZY)
private Player player1;

...

}

@Entity
public class Player {

@Id
@Column(updatable=false)
private long id;

public long getId() {
return id;
}

...

}

现在,Room 中的语句...

player1.getId();

...将导致从数据库中获取整个 Player 实体。然而,我只需要它的主键,id,它应该已经有了(否则它如何获取数据?)。

如何在不触发数据库访问的情况下访问惰性 Player 代理的 id

最佳答案

Hibernate 应该保持对象的 ID 链接到当前 Session。还有一个 getIdentifier() Session 上应该获取 id 的方法。文档对此没有任何说明,但通常它不应该初始化对象。

关于java - Hibernate加载了一个惰性代理,但我只需要PK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15945944/

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