簡體   English   中英

JPA如何在不創建表的情況下查詢數據庫

[英]JPA how to query the database without creating a table

我正在為數據庫任務使用JPA和Spring,並且需要在JPA Repo類中進行如下所示的聯接查詢

@Query("SELECT 1 as id, COUNT(bill) as bills, ba.resource, MAX(b.updatedAt) as latestdate FROM Bill b join b.billComp ba where ba.comp.comp = ?1  group by ba.resource")
public List<BillCalc> findByBills(Long comp);

我的實體類如下

@Entity
public class BillCalc {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;

@Column(name = "latestdate", nullable = false)
private Date latestdate;

@Column(name = "bills", nullable = false)
private Long bills;

@Column(name = "resource", nullable = false)
private String resource;

我無法為此創建表,有人可以幫助我使映射正常工作嗎? 它給我一個錯誤,說不能從Object轉換為BillCalc。

我嘗試了@SubSelect但它沒有參數

  1. BillCalc添加一個構造BillCalc

     BillCalc(Integer id, long bills, String resouce, Date latestdate) {...} 
  2. 然后使用“ Select new查詢”:

     SELECT new BillCalc(1, COUNT(bill), ba.resource, MAX(b.updatedAt)) FROM Bill b join b.billComp ba WHERE ba.comp.comp = ?1 group by ba.resource") 

@請參見JSR-000220 Enterprise JavaBeans 3.0最終發行版中的第4.8.2節“ SELECT子句中的構造函數表達式” (持久性)

暫無
暫無

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

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