我有一个包含1000万个实体的MySQL数据库表。我必须搜索具有多个参数的实体。示例: select * from where roll=12345 result_table reg=6789 and exam='ABC'; 我正在寻找一种使用JPA或原生查询、使用单个查询或任何其他优化选项进行批量实体搜索的有效方法and reg=1234 and exam='DEF';
select * from result_table where roll=2222 and
在映射包含列表(或映射)的实体时,我遇到了问题。我尝试过不同的注释组合,但是两个“最好”的变体都有这种行为。例如,如果父对象有3个子对象,则检索父对象三次。在我的例子中,我有一个UserOrder对象,它包含一对带有计数的Product。数据结构如下所示public class UserOrder{ * VARIATION 1 * I believe the @Collect
一种方法是将FetchMode设置为Subselect,这将在此IN子句中生成一个带有IN子句的select语句和一个subselect语句。另一种方法是指定一个BatchSize,它使用包含父ID的IN子句生成一个select语句。
这两种方法都有效,但我发现Subselect选项经常会遇到性能问题,因为对父级的查询很复杂。另一方面,对于较大的BatchSize (比方说1000),查询的数量和查询的复杂性非常小。我的问题是:什么时候你会使用Hibernate的Subselect Fe