2218得票20回答
ORM(对象关系映射)中的“N+1 selects问题”是什么?

"N+1查询问题"通常是在对象关系映射(ORM)讨论中提出的一个问题,它涉及到在面向对象的世界中执行看似简单的操作时必须进行大量数据库查询的情况。 是否有人可以提供更详细的解释?

884得票33回答
如何修复Hibernate中的“对象引用了未保存的瞬态实例 - 在刷新之前保存瞬态实例”错误。

我使用Hibernate保存对象时遇到以下错误:object references an unsaved transient instance - save the transient instance before flushing

732得票18回答
Java持久化API中FetchType LAZY和EAGER的区别是什么?

在Java Persistence API中,FetchType.LAZY 和 FetchType.EAGER 有何不同?

679得票22回答
JPA和Hibernate有什么区别?

我了解JPA 2是一个规范,而Hibernate是一个ORM工具。此外,我知道Hibernate比JPA 2拥有更多功能。但从实践的角度来看,真正的区别是什么? 我有使用iBatis的经验,现在我正在尝试学习Hibernate或JPA2。我选择了《Pro JPA2》这本书,它一直在提到“JP...

629得票9回答
JPA JoinColumn与mappedBy的区别

这两者之间有什么区别:@Entity public class Company { @OneToMany(cascade = CascadeType.ALL , fetch = FetchType.LAZY) @JoinColumn(name = "companyI...

548得票29回答
杰克逊JSON和Hibernate JPA的无限递归问题

当尝试将具有双向关联的JPA对象转换为JSON时,我一直得到以下错误: org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) 我找到的只有这个线程,基本上得出的结论是建...

523得票34回答
使用Hibernate时如何打印带参数值的查询字符串

在Hibernate中,是否可以打印生成的SQL查询语句的实际值,而不是问号? 如果使用Hibernate API无法实现打印带有实际值的查询语句,您会如何建议打印查询语句?

455得票27回答
将datetime2数据类型转换为datetime数据类型会导致超出范围的值

我有一个包含5列的datatable,在将一行填充数据后通过事务保存到数据库时出现了错误。在保存时,返回了一个错误: 将datetime2数据类型转换为datetime数据类型导致超出范围的值 这意味着,根据所读取的内容,我的datatable具有DateTime2类型,而我的数据...

437得票5回答
Hibernate显示真实SQL

如果我设置<property name="show_sql">true</property> 在我的 hibernate.cfg.xml 配置文件中,我可以在控制台上看到SQL语句。但这并不是真正的 SQL... 我能否看到将直接传递给数据库的SQL代码?例如:我看到:...

406得票7回答
基于数据库的应用程序单元测试的最佳策略是什么?

我使用许多由各种复杂性的后端数据库驱动的Web应用程序。通常,业务和展示逻辑与ORM层分开。这使得对业务逻辑进行单元测试相当简单; 可以将事物实现为离散模块,并且可以通过对象模拟来伪造测试所需的任何数据。 但是,测试ORM和数据库本身始终存在问题和妥协。 多年来,我尝试了几种策略,但没有一...