带有两个参数的Java JPA Query

时间:2014-11-25 18:33:17

标签: java spring hibernate jpa

我正在使用Java和Spring Framework,以及使用hibernate。我编写了一个接口来获取Querys的一些库存资料,一个用于位置,一个用于库存,一个用于产品类型:

    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 个答案:

答案 0 :(得分:2)

那你为什么不在查询中使用第二个参数呢?你有&#34;?1&#34;对于第一个参数两次。