gpt4 book ai didi

java - 在 Spring MVC 应用程序中正确使用 getHibernateTemplate() 吗?

转载 作者:行者123 更新时间:2023-12-01 17:37:48 25 4
gpt4 key购买 nike

我的 Spring MVC 应用程序中有一堆 Hibernate 映射对象。对于具有关系的嵌套对象,默认值似乎是延迟加载。我通过在访问例如 JSP 时出现很多错误来意识到这一点。子对象列表。

因此,我实现了第二种方法来获取所有子项都已初始化的对象列表。我想知道是否有人可以给我一些反馈,看看这是否可行?

这是我在 DAO 实现中有效的代码:

public List<Address> getTripListFullyInitliazed() {

HibernateTemplate template = getHibernateTemplate();

List<Address> addresses = template.loadAll(Address.class);
for (Address address : address) {
template.initialize(address.getChildren());
}
return addresses;
}

有人可以告诉我这是否可以做或者我是否应该改变一些东西?

最佳答案

我认为更优雅的方法是使用 HQL JOIN FETCH 子句,因为它可以最大限度地减少发出的 SQL 查询数量,并使您的代码更加清晰:

public List<Address> getTripListFullyInitliazed() {
return getHibernateTemplate().find(
"from Address a left join fetch a.children");
}

另请参阅:

关于java - 在 Spring MVC 应用程序中正确使用 getHibernateTemplate() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4586243/

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