E aí, galerinha do GUJ!
Tudo bem?
CREATE TABLE PESSOAS (
ID BIGINT NOT NULL PRIMARY KEY,
...);
CREATE TABLE TIPOSTELEFONES (
...
);
CREATE TABLE TELEFONES (
PESSOA BIGINT NOT NULL,
TIPOTELEFONE BIGINT NOT NULL,
TELEFONE VARCHAR(10) NOT NULL,
FOREIGN KEY (PESSOA) REFERENCES PESSOAS(ID),
FOREIGN KEY (TIPOTELEFONE) REFERENCES TIPOSTELEFONES(ID),
PRIMARY KEY (PESSOA, TIPOTELEFONE));
@Embeddable
public class TelefonePK implements Serializable {
@Basic(optional = false)
@Column(name = "pessoa", nullable = false)
private long pessoa;
@Basic(optional = false)
@Column(name = "tipotelefone", nullable = false)
private long tipotelefone;
//...
}
@Entity
@Table(name = "telefones", schema = "dbo")
public class Telefone implements Serializable {
@EmbeddedId
protected TelefonePK ID;
//...
}
@Entity
@Table(name = "pessoas", schema = "dbo")
public class Pessoa implements Serializable {
//...
// AQUI É O PROBLEMA QUE SURGIU!!!
private List<Telefone> telefones;
}
@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY, targetEntity=Telefone.class)
private List<Telefone> telefones;
Initial SessionFactory creation failed.org.hibernate.cfg.NotYetImplementedException: Collections having FK in secondary table
Alguma ideia de como posso resolver o problema?
Valeu, gente, fiquem com Deus! :D