Hibenate: Mapemento

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”;

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.

Valeu pela ajuda!