[英]spring data repository with native named query on unMapped POJO
我有一個名為 company 的 POJO,它映射到一個名為 company 的數據庫表我有一個只有兩個字段的本機查詢(來自遺留原因的公司有很多我想刪除的急切映射)
系統正在處理 spring 數據我想映射為本地查詢並且只將這兩個標量填充到我的公司列表中我如何使用 CompanyRepository 來完成它?
@Entity
@Audited
@Table(name = "company")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@NamedNativeQuery(
name = "getDefaultBuyers",
query =
"SELECT c.id as id ,c.name as name"
+ "FROM complex query with non mapped tables "
resultSetMapping = "getDefaultBuyersMapping")
@SqlResultSetMapping(
name = "getDefaultBuyers",
columns = {@ColumnResult(name = "name"),@ColumnResult(name = "id")})
public class Company {
@Column(name = "id", nullable = false, length = 32)
protected String id;
@Column(name = "name", nullable = false)
protected String name;
//diffrent properties
}
@Repository
public interface CompanyRepository
extends JpaRepository<Company, Long>, JpaSpecificationExecutor<Company>{}
編輯我不認為它很優雅,但是這個有效,有人可以幫我做得更優雅嗎
@Repository
public interface CompanyRepository
extends JpaRepository<Company, Long>, JpaSpecificationExecutor<Company>{
@Query(
value =
"SELECT c.id as id ,c.name as name FROM bidder_config b, native_version n, company c WHERE ...",
nativeQuery = true)
Object[][] getDefaultBuyers(); ```
顯然彈簧數據中存在一個問題,解決方法如下:
@Repository
public interface CompanyRepository
extends JpaRepository<Company, Long>, JpaSpecificationExecutor<Company>{
@Query(nativeQuery = true)
List<DefaultBuyerDTO> getDefaultBuyers();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.