Ejercicio autor

Establecer la relaci贸n 1-n en los pojos

@Entity
public class Autor {
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)	
	private int id;

	private String nombre;
	
	@OneToMany(cascade=CascadeType.ALL, fetch = FetchType.EAGER, mappedBy="autor") //eager = carga ansiosa
	private List<Libro> libros;
@Entity
public class Libro {
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int id;
    
	private String titulo;

	@ManyToOne
	private Autor autor;

Insertar un autor

Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = session.beginTransaction();
Autor autor = new Autor();
autor.setNombre("Juan");
		
session.save(autor);
transaction.commit();
session.close();

Insertar un autor y sus libros

Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = session.beginTransaction();
Autor autor = new Autor();
List<Libro> libros = new ArrayList<Libro>();
libros.add(new Libro(autor, "titulo1"));
libros.add(new Libro(autor, "titulo2"));
autor.setNombre("Juan");
autor.setLibros(libros);
session.save(autor);
transaction.commit();
session.close();

session.flush()

Este m茅todo se asegura de que la informaci贸n ha sido persistida en la base de datos, de forma que ya sea posible cerrar con seguridad la session.

Este m茅todo es ejecutado autom谩ticamente por session.close(), no obstante es recomendable que siempre lo ejecutemos expl铆citamente justo antes.

Puede ser 煤til hacer un flush para recuperar la id autoincrementada de un objeto recien insertado. Ejemplo:

session.save(persona);
session.flush();
id = persona.getId();
Volver a: Hibernate

Aviso Legal | Pol铆tica de privacidad