Herencia con discriminador

Contactar con el profesor

// Opción por defecto, si no la ponemos todo queda igual
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@Entity
public class Publicacion {
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY) 
	private int id;
	private String titulo;
	private int precio;
	@ManyToOne
	private Autor autor;
@Entity
public class Libro  extends Publicacion{

	private String isbn;
@Entity
public class Articulo  extends Publicacion{

	private String nombreRevista;

Sería posible introducir un listado de libros y un listado de artículos dentro de un autor utilizando un código similar a este:

autor.setPublicaciones(libros.stream().map(T-> (Publicacion)T).collect(Collectors.toList()));
autor.setPublicaciones(articulos.stream().map(T-> (Publicacion)T).collect(Collectors.toList()));    

¿Qué ocurre en la base de datos?

DTYPEidpreciotituloisbnnombreRevistaautor_id
Publicacion
← Estructura de un proyecto usando DAO
Herencia con joins →

Aviso Legal | Política de privacidad