我正在使用Java和Spring框架以及休眠模式。我编写了一个接口来通过查询获取一些库存物品,一个用于位置(库存在哪里),另一个用于产品类型:
public interface ProductInventory extends Inventory<InventoryItem> {
@Query("select i from InventoryItem i, ProductItem c where i.product = c and c.type = ?1")
List<InventoryItem> findByProductType(ProductItem.ProductItem type);
@Query("select i from InventoryItem i, ProductItem c where i.product = c and c.locationid = ?1")
List<InventoryItem> findByProductLocation(long locationid);
}
这是完美的工作,但现在我想编写一个查询来选择ProductType和位置:
@Query("select i from InventoryItem i, ProductItem c where i.product = c and c.type = ?1 and c.locationid = ?1")
List<InventoryItem> findByProductStandortAndType(ProductItem.ProductItemType type, long locationid);
但这不起作用。也许有人可以帮我吗?非常感谢
最佳答案
那么,为什么不在查询中使用第二个参数呢?您的第一个参数两次有“?1”。