我正在使用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”。

09-27 18:47