やあ、
これは話です: 私は 1 対多を持っています。1 つは「RadicadoOficio」で、多くは「RespuestaOficio」です。
resps を持たないすべての rad を選択したいだけです。
これらはエンティティです(教育目的で短縮されています):
@Entity
@Table(name="COR_RADICADO_OFICIO")
public class RadicadoOficio {
@OneToMany(mappedBy="radicado")
private List<RespuestaOficio> respuestas;
@Column(name="requiere_respuesta")
private Long requiereRespuesta;
}
@Entity
@Table(name="cor_respuesta_oficio")
public class RespuestaOficio {
@ManyToOne
@JoinColumns({@JoinColumn(name = "num_radicado"), @JoinColumn(name="ano_radicado")})
private RadicadoOficio radicado;
}
この DAO メソッド:
HibernateUtil.getCurrentSession().createQuery("select obj from " + sample.getCanonicalName() + " obj where obj." + longProp+ " = ? and obj." + childrenProp + " IS EMPTY" )
.setLong(0, longVal );
if (firstResult != null) {
q.setFirstResult(firstResult);
q.setMaxResults(maxResults);
}
return q.list();
このものをレンダリングします:
COR_RADICADO_OFICIOからのradicadoof0_.respuesta_multipleはrespuesta17_8_として、radicadoof0_.tipo_aplicativoはtipo18_8_として and not (exists (respuestas1_.INTERNO_RESPUESTA from cor_respuesta_oficio respuestas1_ where Radicadoof0_.ANO_RADICADO=respuestas1_.num_radicado および Radicadoof0_.NUM_RADICADO=respuestas1_.ano_radicado)) ) row_ ) where rownum_ <= ? および rownum_ > ?
オラクルは、私が理解できない「無効な番号」エラーをスローします。
どんな助けでも大歓迎です、tnx