Olá a todos;
Imaginem que eu tenho a seguinte situação:
Código Employer
@Entity
public class Employer implements Serializable {
@ManyToMany(
targetEntity=org.hibernate.test.metadata.manytomany.Employee.class,
cascade={CascadeType.PERSIST, CascadeType.MERGE}
)
@JoinTable(
name="EMPLOYER_EMPLOYEE",
joinColumns=@JoinColumn(name="EMPER_ID"),
inverseJoinColumns=@JoinColumn(name="EMPEE_ID")
)
public Collection getEmployees() {
return employees;
}
...
}
Código Employee
@Entity
public class Employee implements Serializable {
@ManyToMany(
cascade = {CascadeType.PERSIST, CascadeType.MERGE},
mappedBy = "employees",
targetEntity = Employer.class
)
public Collection getEmployers() {
return employers;
}
}
Até ai tudo bem certo? Um many-to-many tranquilo;
Contudo, imaginem que na RL,EMPLOYER_EMPLOYEE ou tabela de relacionamento, eu tenha um campo a mais. Um ID de outra tabela criado pelo profissional do DB para melhorar as buscas do sistema;
Então eu teria um many-to-many, ainda gostaria de tê-lo
, e um id para ser inserido no meio da brincadeira toda. PS este id está contido na segunda tabela Employee ; e será incluido na RL também… Coisas de DB, lá vai ter uma trigger também que vai validar a inclusão do id se é igual e talss…
Me respondam: Será necessário criar uma classe a mais? Um Embedded? OU teria como eu criar uma lógica inteligente o suficiente para salvar no many-to-many e ainda informar o outro id que está contido na segunda tabela?
Se não fui muito claro, fiquem a vontade de criticar minha dúvida… hehe
vlw