#java #jpa
Вопрос:
У меня проблема: в моем java-приложении, когда я вызываю свой NamedNativeQuery:
@NamedNativeQuery(
name = "a.findOperor",
resultClass = OperorEntity.class,
query =
" selectn"
" 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;
}
Большое вам спасибо.
Комментарии:
1. Благодаря вам, ребята, я решил свою проблему. Дело в том, что мои результаты имели двойной идентификатор JPA ( «cod» и «id»), и если я устанавливал только один идентификатор, во время выполнения он удваивал результаты, минуя другой ключ. Спасибо
Ответ №1:
Я решил свою проблему, решение состоит в том, чтобы дублировать идентификатор JPA, потому что строки из БД имеют двойной первичный ключ, образованный «cod» и «Id».
Спасибо всем.