Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipselink-users] Strage error with typedQuery

Hello.

I'm having some troubles with a query:

----------------

CriteriaQuery<DetalleDevolucion> criteriaQuery = cb.createQuery(DetalleDevolucion.class);

Root<DetalleDevolucion> from = criteriaQuery.from(DetalleDevolucion.class);

Predicate predicate = cb.equal(from.get(DetalleDevolucion_.tipoSorteo), tipoSorteo);

predicate = cb.and(predicate, cb.equal(from.get(DetalleDevolucion_.noSorteo), Integer.valueOf(noSorteo)));

predicate = cb.and(predicate, cb.equal(from.get(DetalleDevolucion_.tipoDevolucion), TipoDevolucion.valueOf(tipoDevolucion)));

criteriaQuery.where(predicate);

TypedQuery<DetalleDevolucion> typedQuery = em.createQuery(criteriaQuery);

return typedQuery.getResultList();

------------------

When I do that I obtain:

----------------

Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.2.0.v20110202-r8913): org.eclipse.persistence.exceptions.DatabaseException

Internal Exception: java.sql.SQLException: El tipo no está soportado.

Error Code: 20000

Call: SELECT NOSERIE, NOBILLETE, NOSORTEO, SIGNO, TIPOSORTEO, NOFRACCION, AUDITUSER, CONSECUTIVO, DEVOLUCION, FRACCIONES, NOCORTE, OBSERVACIONES, TIPODEVOLUCION, VERSION FROM DetallesDevolucionAcum WHERE (((((TIPOSORTEO = ?) AND (NOSORTEO = ?)) AND (TIPODEVOLUCION = ?)) AND (NOCORTE = ?)) AND (FRACCIONES = ?))

bind => [5 parameters bound]

--------------

if I comment this part:

------------

predicate = cb.and(predicate, cb.equal(from.get(DetalleDevolucion_.tipoDevolucion), TipoDevolucion.valueOf(tipoDevolucion)));

----------

The query works fine.

My entity is declared this way:

-----------------

@Entity

@Table(name="DetallesDevoluciones")

@IdClass(FraccionPK.class)

@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)

public class DetalleDevolucion extends Model {

@Id

@NotEmpty(message="El tipo de sorteo no puede estar vacio.")

@Pattern(regexp="[A-Z]{2}", message="El tipo de sorteo deben ser 2 letras mayúsculas.")

private String tipoSorteo;

@Id

@NotNull(message="El consecutivo no puede estar vacio.")

@Range(min=0, max=9999, message="El valor del no de Sorteo debe estar entre 0 y 9999")

private Integer noSorteo;

@NotNull(message="El consecutivo no puede estar vacio.")

@Range(min=0, max=99, message="El valor del consecutivo debe estar entre 0 y 99")

private Integer consecutivo;

@NotNull(message="La cantidad de devolución no puede estar vacia.")

@Digits(integer=14, fraction=2, message="El devolución inútil es mayor al máximo predeterminado")

@Column(precision = 14, scale = 2)

private BigDecimal devolucion;

@NotNull(message="Las fracciones no pueden estar vacias.")

private Integer fracciones;

@Id

@NotNull(message="El No de Billete no puede estar vacio.")

@Range(min=0, max=9999999, message="El valor del no de billete debe estar entre 0 y 9999999")

private Integer noBillete;

@Id

@NotNull(message="El signo no puede estar vacio.")

@Range(min=0, max=12, message="El valor del signo debe estar entre 0 y 12")

private Integer signo;

@Id

@NotNull(message="La serie no puede estar vacia.")

@Range(min=1, max=9, message="El no de serie debe estar entre 1 y 9")

private Integer noSerie;

@Id

@NotNull(message="El no de fracción no puede estar vacio.")

@Range(min=-99, max=99, message="El valor del no de fracción debe estar entre 0 y 99")

private Integer noFraccion;

@NotNull(message="El no de corte no puede estar vacio.")

@Index

@Column(name="NOCORTE")

private Integer noCorte;

private String observaciones;

@Enumerated(EnumType.STRING)

@NotNull(message="El tipo de devolución no puede estar vacio.")

@Index

@Column(name="TIPODEVOLUCION")

private TipoDevolucion tipoDevolucion;

...

}

------------

And I have a child entity:

--------------

@Entity

@Table(name="DetallesDevolucionAcum")

public class DetalleDevolucionAcum extends DetalleDevolucion{

private static final long serialVersionUID = 1893358673129186997L;

}

---------------

Any Ideas?

Thanks for your help.
--

I.S.C. José Arcángel Salazar Delgado

Gerente de I+D

Tel. oficina: 229-9-27-54-78

Attachment: signature.asc
Description: This is a digitally signed message part.


Back to the top