gpt4 book ai didi

java - Hibernate - 如何急切地加载惰性字段?

转载 作者:行者123 更新时间:2023-12-01 16:32:06 24 4
gpt4 key购买 nike

我有一个具有多个惰性字段的实体 -

@Entity 
public class Account implements Serializable {
@OneToMany(mappedBy = "accountIdfk", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private List<Address> addresses;
.....
}

在某些情况下,我需要急切地加载地址。通常我们调用下面的查询来获取实体 -

dataStore.get().type(clazz).pk(id).execute();

有没有办法,我们可以在上面的查询中传递任何附加参数或其他内容来在运行时加载地址?

最佳答案

您可以使用dynamic fetching via queries (加入获取):

Account account = entityManager.createQuery(
"select a " +
"from Account a " +
"left join fetch a.addresses " +
"where a.id = :id",
Account.class)
.setParameter( "id", id)
.getSingleResult();

您还可以通过JPA 实体图使用动态获取。您可以通过相同的引用找到更多详细信息。

关于java - Hibernate - 如何急切地加载惰性字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62020175/

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