o que eu quero fazer uma relacao OndeToMany , onde o ID da tabela pai faz parte do primaryKey da tabela filha
@MappedSuperclass
public class Participante extends DefaultEntity<Integer> {
@Id
@Column(name = "id_part")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sq_part_gen")
@SequenceGenerator(name = "sq_part_gen", sequenceName = "sq_part", allocationSize = 1)
protected Integer idParticipante;
@Entity
@Table(name = "tb_emp")
public class Empresa extends Participante {
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="id_emp")
private Collection<Departamento> departamentos = new HashSet<Departamento>();
@Entity
@Table(name = "tb_dep")
public class Departamento implements Serializable {
@Id
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="id_emp")
private Empresa empresa;
@Id
@Column(name="id_dep")
private Integer idDepartamento;
@Column(name="descr")
private String descr;
mas eu tenho que inserir as detalhes, sem inserir a mestre nas detalhes … ex
EmpresaBC bc = new EmpresaBC();
Empresa e = new Empresa();
e.setNome("Empresa de teste");
Collection<Departamento> depList = new ArrayList<Departamento>();
Departamento dep = new Departamento();
dep.setIdDepartamento(1);
dep.setDescr("Departamento teste");
depList.add(dep);
e.setDepartamentos(depList);
bc.insert(e);
como eu faço isso?
eu ja tentei td conté anotação mas sempre cai o id_emp = NULL
e qdo nao da erro, nao salva os registros filhos
ja tentei o mappedBy, EmbbedId e outras annotations