我有一个问题:在我的 Java 应用程序中,当我调用我的 NamedNativeQuery 时:
@NamedNativeQuery(
name = "a.findOperor",
resultClass = OperorEntity.class,
query =
" select\n" +
" b.cod, " +
" op.ex," +
" b.c id, \n" +
" SUM (b.vx) VX,\n" +
" SUM (b.vi) VI,\n" +
" SUM (b.an) AN,\n" +
" SUM (b.ai) AI,\n" +
" SUM (b.pn) PN,\n" +
" SUM (b.pi) PI,\n" +
" SUM (b.rn) RN,\n" +
" SUM (b.ri) RI,\n" +
" SUM (b.prn) PRN,\n" +
" SUM (b.pri) PRI,\n" +
" SUM (b.bn) BN,\n" +
" SUM (b.bpg) BPG,\n" +
" SUM (b.bri) BRI,\n" +
" FROM X b \n"
我收到以下值:
x, y, z, 3000,10,2500,10,ecc...
x, y, z, 3000,10,2500,10,ecc...
x, y, z, 3000,10,2500,10,ecc...
x, y, z, 3000,10,2500,10,ecc...
但在数据库中的值是:
x, y, z, 3000,10,2500,10,ecc...
x, y, z, 0,0,0,0,ecc...
x, y, z, 0,0,0,0,ecc...
x, y, z, 0,0,0,0,ecc...
如何解决这个问题?
我的实体是:
@Getter
@Setter
@Data
@Entity
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
@Table(schema = "DB", name = "OPEROR")
public class OperorEntity{
private static final long serialVersionUID = 7262340904116672804L;
@Id
@Column(name = "cod")
private Integer cod;
@Column(name = "id")
private Integer id;
@Column(name = "vn")
private Integer VN;
@Column(name = "vi")
private Integer VI;
@Column(name = "an")
private Integer AN;
@Column(name = "ai")
private Integer AI;
@Column(name = "pn")
private Integer PN;
@Column(name = "pi")
private Integer PI;
@Column(name = "rn")
private Integer RN;
@Column(name = "ri")
private Integer RI;
@Column(name = "prn")
private Integer PRN;
@Column(name = "pri")
private Integer PRI;
@Column(name = "bn")
private Integer BN;
@Column(name = "bpg")
private Integer BPG;
@Column(name = "bri")
private Integer BRI;
}
非常感谢。
答案 0 :(得分:1)
我解决了我的问题,解决方案是复制 JPA Id,因为来自 DB 的行有一个由“cod”和“Id”组成的双主键。
谢谢大家。