Pregunta

Tengo dos entidades relacionadas, por ejemplo

@Entity
public class Book {
    @ManyToOne
    Shelf shelf;
}

@Entity
public class Shelf {
    @OneToMany(mappedBy="shelf")
    Set<Book> books;
}

Si voy a buscar un estante vacío (no hay libros), crear y conservar un nuevo libro de la estantería y luego obtener esa plataforma una vez más, su colección de libros está vacía. Cuando corro con el registro de depuración veo que Hibernate no busca la plataforma por segunda vez, sólo se devuelve desde el caché de la sesión, en la que no yace saber, que está recogida libros se ha actualizado.

¿Cómo puedo deshacerme del efecto y obtener el estado actualizado de la plataforma?

Gracias,
Artem.

¿Fue útil?

Solución

Parece que usted tiene que mantener a mano en el ámbito de una sola sesión (transacción). Ni @Cascade ni EAGER influencia sesión de caché

Otros consejos

Trate de ir a buscar el tipo ávido de libros situados en el estante:

@Entity
public class Shelf {
    @OneToMany(mappedBy="shelf",fetch=FetchType.EAGER)
    Set<Book> books;
}

Es @Cascade lo que está buscando?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top