Hibenate: Mapemento

2 respostas
P

Boa tarde Pessoal!
Estou com um probleminha e gostaria de sua ajuda… Bom, tenho uma entidade que tem um campo FK, que aponta para outra tabela. O problema é que eu preciso desse campo para mapear o “many-to-one” e ao mesmo tempo telo mapeado como propriedade…, porém a fazer isso me retorna um erro do Hibernate de mapeamento duplicado para entidade…

Como devo mapear o objeto nessa situação??? Estou enviando em anexo o mapeamento como imagino que seria(já testei tudo que pesquisei…)…

Muito Obrigado desde já!

Ps.: O mapeamento vai em anexo…

POJO

public class UniGeo implements java.io.Serializable

{

private static final long serialVersionUID = 3898810540399055388L;

private Integer pkUniGeo;

private Date timestamp;

private UniGeo unigeo;

private Integer fkTpUniGeo;

private String descricao;

private String descricaoSuperior;

private String descricaoTipo;

private TpUniGeo tpUniGeo;

private Set unigeos = new HashSet(0);

//GETTERS AND SETTERS…
}

Query em HQL

String queryHQL = "select new br.com.shc.database.unigeo.UniGeo(uniGeo.pkUniGeo, uniGeo.descricao, tpUniGeo.descricao, uniGeoSuperior.descricao) " +
"from UniGeo uniGeo " +
"join uniGeo.unigeo uniGeoSuperior " +
“join uniGeo.tpUniGeo tpUniGeo”;

2 Respostas

louds

A solução é simples, basta você ler o manual do hibernate com mais empenho.

Lá você vai notar que o Hibernate suporta apenas um mapeamento atualizavel por coluna. Isso quer dizer que somente por um atributo, seja ele tua property ou teu many-to-one, o Hibernate vai pegar os dados para executar inserts e updates.

Mapeie a propertt ou o many-to-one com ‘insert=“false” update=“false”’ que resolve teu problema. Mas primeiro entenda o que essas modificações vão fazer, sério, entenda o comportamento que eles introduzem, porque senão você vai ter um bug dificil de encontrar.

P

Valeu pela ajuda!

Criado 14 de agosto de 2006
Ultima resposta 16 de ago. de 2006
Respostas 2
Participantes 2