HibernateTemplate Get método devuelve un objeto con valores nulos

En primer lugar:

Me encuentro con un extraño problema con Hibernate. Hay dos tablas de bases de datos que almacena las entradas activas y resueltas. En Java hay una superclase (entradas) y subclases entidad (ActiveTicket y ResolvedTicket).

Ahora bien, cuando se resuelve un billete se mueve a la mesa ResolvedTicket.

Ahora tengo un método findByID personalizada donde intento para recuperar primera billete activo y luego si tengo un objeto nulo luego tratar de recuperar el billete resuelto. Se parece a esto:

public Ticket findByID(Long id) {
    Ticket t = findByID(ActiveTicket.class, id);
    if (null == t) {
        t = findByID(ResolvedTicket.class, id);
    }
    return t;
}

Esta es la findByID personalizado:

public <C> C findByID(Class<C> class, PK id) {
    return (C) getHibernateTemplate().get(class, id);
}

En mi ejemplo, tengo una ResolvedTicket almacenada en la base de datos, cuando llamo findByID () en el primer fragmento, la primera línea devuelve un objeto que contiene valores nulos. Se ve como un objeto proxy, pero es muy extraño, porque cada vez que intento llamar a cualquiera de sus captadores consigo una NullPointerException, lo cual es extraño porque el objeto no es nulo cuando se prueba t == null.

Este es el aspecto del objeto cuando getHibernateTemplate get () (ActiveTicket.class, id) se llama.: introducir descripción de la imagen aquí

En primer lugar:

El problema fue con la versión de Hibernate. Después de actualizar a una versión posterior de Hibernate el tema fue.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=181877&siteId=1
Recomendado
Clasificación