Cómo corregir el error de Hibernate "object references an unsaved transient instance" al guardar entidades relacionadas
¡Hola a todos! Soy un desarrollador Java principiante y me encontré con un problema al trabajar con Hibernate. Tengo dos entidades: `Author` y `Book`. Un autor puede escribir muchos libros, y cada libro hace referencia a un autor (relación @ManyToOne).
Cuando intento guardar un nuevo libro con un nuevo autor, Hibernate lanza una excepción: `org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.example.Book.author`.
Aquí está mi código:
```java
@Entity
public class Author {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@OneToMany(mappedBy = "author", cascade = CascadeType.ALL)
private List books = new ArrayList<>();
}
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
@ManyToOne
@JoinColumn(name = "author_id")
}