gpt4 book ai didi

random - 使用 JPQL 获取随机行

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

是否可以使用 JPQL 获取随机行?例如在 SQL Server 中我会使用:select * from myTable where columnName = 4 order by newid()

谢谢,杆

最佳答案

这是我用的。我首先获取实体的行数,然后将提取查询的结果限制为随机行。这涉及两个查询,因此如果这对您来说是个问题,您可能需要观看 native 查询。如果不是这里是我使用的代码:

 public <T> T randomEntity(EntityManager em, Class<T> clazz) {
Query countQuery = em.createQuery("select count(id) from "+clazz.getName());
long count = (Long)countQuery.getSingleResult();

Random random = new Random();
int number = random.nextInt((int)count);

Query selectQuery = em.createQuery("from "+clazz.getName());
selectQuery.setFirstResult(number);
selectQuery.setMaxResults(1);
return (T)selectQuery.getSingleResult();
}

关于random - 使用 JPQL 获取随机行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1778380/

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