Hibernate 用于多个组合输入的单个JPQL查询或条件
我使用下面的JPQL查询来检查是否存在学生的姓名和id组合Hibernate 用于多个组合输入的单个JPQL查询或条件,hibernate,jpa,jakarta-ee,Hibernate,Jpa,Jakarta Ee,我使用下面的JPQL查询来检查是否存在学生的姓名和id组合 select id from student where name='name' and id=1 现在我需要一次检查1000个组合。 运行同一查询1000次会对性能造成威胁。 我不确定我们是否可以用1000个组合进行单个查询。 这1000个组合来自用户界面,所以连接是不可能的。 我们能用JPQL/标准实现这一点吗?(没有临时表/plsql)我认为没有性能问题是无法做到的,但是,您可以使用union all Station来改进它,例
select id from student where name='name' and id=1
现在我需要一次检查1000个组合。
运行同一查询1000次会对性能造成威胁。
我不确定我们是否可以用1000个组合进行单个查询。
这1000个组合来自用户界面,所以连接是不可能的。
我们能用JPQL/标准实现这一点吗?(没有临时表/plsql)我认为没有性能问题是无法做到的,但是,您可以使用union all Station来改进它,例如:
select id from student where name='name' and id=1 union all select id from student where name='name2' and id=2
你能告诉我们完整的查询是什么样的,比如说3个组合吗?像这样的
从student where(name='name'和id=1)或(name='name2'和id=2)或(name='name3'和id=3)中选择id
。对于1000个组合,有什么简单的方法可以做到这一点吗?您使用的是什么数据库?您总是可以退回到手动构建查询的方式,即JPQL或原生SQL.jpa2.0(hibernate-jpa-2.0-api-1.0.Final.jar)和oracle'select id from student where(name='name'和id=1)或(name='name2'和id=2)或(name='name3'和id=3)
。但对于1000个组合来说,这是一个好的解决方案吗?