[英]Transient Field in JPA and setting from Query
我们如何从选择查询中加载JPA中的瞬态字段。
例如,我有这个查询:
SELECT table1.*, (SELECT SUM(field) from table2 WHERE theField=table1.flag) as total FROM table1;
所以我在这里需要一个名为“total”的瞬态字段。
但似乎在JPA中是不可能的
您可以在JPQL
使用constructor
查询:
SELECT NEW com.foo.entities.Table1(table1.*, (SELECT SUM(field) from table2 WHERE theField=table1.flag) as total) FROM table1;
实体:
@Entity
public class Table1{
// .. other columns
@Transient
int total;
// table1Field1,table1Field2 etc. map to your table1.* coulmns
public Table1(String table1Field1,int table1Field2,int total){
// ..other assignments here
this.total = total; // transient assignment here
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.