gpt4 book ai didi

java - NativeQuery 或 HibernateOGM 方法更好

转载 作者:行者123 更新时间:2023-11-30 07:40:29 26 4
gpt4 key购买 nike

我正在使用 hibernate OGM 与我的 MongoDB 实例对话。我必须获取类别为“abc”的所有产品的列表。我使用 native 查询方法来实现此目的,如下所示:

String stringQuery = "db.Message.find({'CATEGORY':'" + category + "})";
Query query = entityManagerProvider.get().createNativeQuery(stringQuery, Product.class);
productList = query.getResultList();

我不确定这是否是正确的方法,因为我看到太多的硬编码(查看集合名称)。我可以使用 .find() 方法来实现同样的目的吗?我们使用 vertx 服务器和 gradle 作为构建工具。

最佳答案

您是指EntityManager.find()吗?如果使用主键进行过滤,则可以使用它。在您的示例中似乎并非如此。

您可以做的是编写 JP-QL 查询:

productList = entityManagerProvider.get().createQuery( "SELECT p FROM Product p WHERE p.category=:category", Product.class ).setParameter("category", category).getResultList();

我假设您有一个具有属性category 的实体Product

关于java - NativeQuery 或 HibernateOGM 方法更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34765421/

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