Boa tarde a todos,
Eu estou tentando fazer um relacionamento entre duas tabelas, vou dar um exemplo. Tem as tabelas usuario, grupo e a tabela de relacionamento FK usuario_grupo.
Então do lado do usuário tem o código:
@ManyToMany
@JoinTable(name = “USUARIO_GRUPO”,
joinColumns = {
@JoinColumn(name = “CODUSUARIO”),
@JoinColumn(name = “CODEMPRESA”) },
inverseJoinColumns = {
@JoinColumn(name = “CODGRUPO”),
@JoinColumn(name = “CODEMPRESA”) })
private Set grupos;
Quando rodo o programa o erro abaixo é mostrado:
org.hibernate.MappingException: Repeated column in mapping for collection: Repeated column in mapping for collection: com.teste.model.User.groups column: COD_FRANQUIA
Vocês tem idéia de como fazer esse relacionamento funcionar sem ter que alterar a base de dados. É que o banco de dados não pode ser alterado!
[quote=abimaelrsergio]Boa tarde a todos,
Eu estou tentando fazer um relacionamento entre duas tabelas, vou dar um exemplo. Tem as tabelas usuario, grupo e a tabela de relacionamento FK usuario_grupo.
Então do lado do usuário tem o código:
@ManyToMany
@JoinTable(name = “USUARIO_GRUPO”,
joinColumns = {
@JoinColumn(name = “CODUSUARIO”),
@JoinColumn(name = “CODEMPRESA”) },
inverseJoinColumns = {
@JoinColumn(name = “CODGRUPO”),
@JoinColumn(name = “CODEMPRESA”) })
private Set grupos;
Quando rodo o programa o erro abaixo é mostrado:
org.hibernate.MappingException: Repeated column in mapping for collection: Repeated column in mapping for collection: com.teste.model.User.groups column: COD_FRANQUIA
Vocês tem idéia de como fazer esse relacionamento funcionar sem ter que alterar a base de dados. É que o banco de dados não pode ser alterado! [/quote]
a principio ta errado aki @JoinColumn(name = “CODEMPRESA”) @JoinColumn(name = “CODEMPRESA”)
naum é join referencedColumnName = “”
Olá Tiago,
Muito obrigado por responder-me!
Pelo que entendi, não devo usar name, devo usar referncedColumnName, é isso? vou testar.
Grato,
Abimael R. Sergio
[quote=abimaelrsergio]Olá Tiago,
Muito obrigado por responder-me!
Pelo que entendi, não devo usar name, devo usar referncedColumnName, é isso? vou testar.
Grato,
Abimael R. Sergio[/quote]
nao siga o exemplo
@ManyToMany
@ForeignKey(name="fk_orientador")
@JoinTable(name="agenBancaOrientador",
joinColumns = @JoinColumn(name="idOrientador", referencedColumnName="id"),
inverseJoinColumns = @JoinColumn(name="idAgenBanca", referencedColumnName="idBanca"))
private List<AgenBanca> colAgenBanca;
@ManyToMany
@ForeignKey(name="agenBanca_fk")
@JoinTable(name="agenBancaOrientador",
joinColumns = @JoinColumn(name="idAgenBanca", referencedColumnName="idBanca"),
inverseJoinColumns = @JoinColumn(name="idOrientador", referencedColumnName="id"))
private List<Orientador> colOrientador;