[英]how to get single record in spring data JPA without using native query
[英]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.