Property not writable on type

Olá galera, estou enfrentando um grande e estranho problema. Tenho um Mestre Detalhe e ao adicionar um novo item para a listagem ocorre o seguinte erro:

O erro nos diz que o elemento modulo não pode ser escrito, gravado. Logicamente o problema estaria no meu set porém…

[code]
package br.com.sol7.olimpio.model.entity.basico;

import br.com.sol7.util.ObjectUtil;

import javax.persistence.*;
import java.io.Serializable;

@Table(name = “bas_perfil_modulo”)
@Entity
@IdClass(PerfilModulo.class)
public class PerfilModulo implements Serializable, PerfilModuloModel {

private static final long serialVersionUID = 1L;

@Id
@ManyToOne
@JoinColumn(name = "id_perfil")
private Perfil perfil;

@Id
@ManyToOne
@JoinColumn(name = "id_modulo")
private Modulo modulo;

private Boolean novo;

private Boolean editar;

private Boolean remover;

private Boolean relatorio;

public Perfil getPerfil() {
    return perfil;
}

public void setPerfil(Perfil perfil) {
    this.perfil = perfil;
}

public Modulo getModulo() {
    return modulo;
}

public void setModulo(Modulo modulo) {
    this.modulo = modulo;
}

public Boolean getEditar() {
    return editar;
}

public void setEditar(Boolean editar) {
    this.editar = editar;
}

public Boolean getRemover() {
    return remover;
}

public void setRemover(Boolean remover) {
    this.remover = remover;
}

public Boolean getRelatorio() {
    return relatorio;
}

public void setRelatorio(Boolean relatorio) {
    this.relatorio = relatorio;
}

public Boolean getNovo() {
    return novo;
}

public void setNovo(Boolean novo) {
    this.novo = novo;
}

@Override
public int hashCode() {
    int result = 17;
    result = 37 * result + (perfil == null ? 0 : perfil.hashCode()) + (modulo == null ? 0 : modulo.hashCode());
    return result;
}

@Override
public boolean equals(Object obj) {

    if (obj == null) {
        return false;
    }

    if (obj instanceof PerfilModulo) {
        PerfilModulo entity = (PerfilModulo) obj;
        return this.hashCode() == entity.hashCode();

    }

    return false;
}

public boolean isValid() {
    return (!ObjectUtil.nullOrEmpty(modulo) && !ObjectUtil.nullOrEmpty(modulo.getId()));
}

}[/code]
…olha ae meu get e set modulo.

Como se não fosse o bastante esse erro ocorre neste mestre detalhe em específico(ou seja em todos os outros tudo funciona perfeitamente). E APENAS no servidor onde foi hospedado o sistema (localhost não ocorre o erro).

Alguém tem alguma sugestão, dica, opinião ou qualquer coisa que possa me ajudar?