我正在使用具有derby數據庫的JPA。我想從同一個表中檢索兩個不同的結果集到兩個完全不同的屏幕上。具有多個結果集的JPA實體具有不同的列
屏幕一使用「ScannerReport」bean顯示值。
屏幕2將顯示來自ScannerSummaryReport bean的值。
這兩個bean都需要具有來自同一實體「掃描器」的數據,如下面的代碼所述。
如何定義該結果集映射到實體針對兩個不同的結果集,在具有不同的列它
A ---> Query query = em.createNativeQuery(<query for scanner report goes here >,"ScannerReport");
query.getResultList();
現在將執行並實例ScannerReport類的一個對象,用數據填充它。
B ---> Query query = em.createNativeQuery(<query for scanner summary report goes here>,"ScannerSummaryReport");
query.getResultList();
我想以某種方式讓JPA知道,當我執行B,現在它需要實例化一個不同的類,可以說ScannerSummaryReport填滿它從不同的查詢數據的對象(寫入calcuate平均數和總數)並返回result.Again請勿兩個查詢將是相同的實體掃描儀..
@SqlResultSetMapping(
name="ScannerReport",
classes={
@ConstructorResult(
targetClass=com.beans.ScannerReport.class,
columns={
@ColumnResult(name="scanYear", type=Integer.class),
@ColumnResult(name="julianDay", type=Integer.class),
@ColumnResult(name="scannerId", type=String.class),
@ColumnResult(name="startTime", type=Long.class),
@ColumnResult(name="endTime", type=Long.class),
@ColumnResult(name="scanTime", type=Long.class),
}
)
}
)
@Entity
public class Scanner {
// Class implementation goes here
}
因此您定義了ScannerReport結果集映射,並且尚未定義ScannerSummaryReport結果集映射。所以也許這樣做?沒有看到問題 – 2014-10-31 07:21:12
我需要定義兩者,以便我可以用兩個不同的地方填充數據(但是@SqlResultSetMapping不允許我定義兩個映射)。 – ATHER 2014-10-31 14:27:39