EJB3 e persistência da hierarquia manual
Eu tenho um banco de dados legado, que estou usando EJB3 para modelar. O banco de dados está em péssimo estado e temos algumas restrições incomuns sobre como inserimos no banco de dados. Agora, quero modelar o banco de dados em uma hierarquia que se encaixe na estrutura do banco de dados, mas quero poder inserir manualmente cada entidade individualmente, sem que o gerenciador de persistência tente persistir os filhos das entidade
Estou tentando algo como o seguinte (clichê deixado de fora):
@Entity
@Table(name = "PARENT_TABLE")
public class Parent {
@Id
@Column(name = "ID")
int id;
@OneToMany
List<Child> children;
}
@Entity
@Table(name = "CHILD_TABLE")
public class Child {
@Id
@Column(name = "ID")
int id;
}
Agora, isso gera uma exceção:
java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST
Agora euconhece a entidade não está marcada como PERSIST - não quero que o EntityManager persista! Quero ser capaz de persistir primeiro com os pais e depois com a criança - mas não juntos. Há boas razões para querer fazê-lo dessa maneira, mas parece não querer joga