簡體   English   中英

使用Spring數據JPA獲取單列而不查詢

[英]Get single column using Spring data JPA without query

我只是想避免編寫基於方法名稱約定的查詢和數據。 以下是我的實體

@Entity
class Product{
     @Id
     private Integer productId;
     private String productName;
     private String productStrategy;
}

我有以下存儲庫:

interface ProductRepository extends JPARepository<Product,Integer>{
        public Product findByProductStrategy(String productStrategy);
}

上面的方法和存儲庫對我來說很好用。 但是我只使用上述結果中的productName 因此,有什么方法可以用來獲取productName而不是獲取孔記錄。

注意:我知道,我們可以通過編寫HQL查詢或本機查詢使用@Query來實現。 但是我只想使用方法名稱約定而不編寫查詢就可以做到這一點。

考慮使用來自彈簧數據的投影

使用所需的字段為您的實體創建一個投影界面。 就您而言,它看起來應該像

public interface ProductName {
  String getProductName();
}

然后將您的存儲庫更改為具有投影接口本身的返回類型。 春天將負責其余的工作。

public interface ProductRepository extends JPARepository<Product,Integer>{
        public ProductName findByProductStrategy(String productStrategy);
}

您可以執行類似的操作,例如當您只需要productName時就可以使用Lite類。

@Entity
@Table(name = "product")
Class ProductLite{
         @Column(name = "productName", nullable=false)
         private String productName;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM