我正在使用hibernate OGM与我的MongoDB实例进行通信。我必须得到所有类别为if( !empty( $totv ) ){
$sql="SELECT `Wo_Qty`
FROM `Work_order`
WHERE `B_Name` IN ('" . implode( "','", $totv )."' );";
$res=mysql_query( $sql,$con );
while( $rs=mysql_fetch_array( $res ) ) echo $rs['Wo_Qty'];
}
的产品的列表。我正在使用本机查询方法来实现以下目标:
"abc"
我不确定这是否是正确的做法,因为我看到了太多的硬编码(查看集合名称)。我可以使用String stringQuery = "db.Message.find({'CATEGORY':'" + category + "})";
Query query = entityManagerProvider.get().createNativeQuery(stringQuery, Product.class);
productList = query.getResultList();
方法来实现同样的目的吗?
我们使用带有gradle的vertx服务器作为构建工具。
答案 0 :(得分:1)
你的意思是EntityManager.find()
?如果使用主键进行过滤,则可以使用它。在你的例子中似乎并非如此。
您可以做的是编写JP-QL查询:
productList = entityManagerProvider.get().createQuery( "SELECT p FROM Product p WHERE p.category=:category", Product.class ).setParameter("category", category).getResultList();
我假设你有一个带有Product
属性的实体category
。