Sera que ninguem sabe "Fk null com manytoone"

Pessoal é o seguinte deve ser coisa simples pra quem ja tem experiencia tenho duas tabelas professor e cidadao onde professor tem uma fk de cidadao só que essa fk esta como null no banco de dados e no hibernate como informar que não é pra colocar essa coluna no update(não server @transient)???
Hoje o hibernate ignora esta annotation " @org.hibernate.annotations.Entity(dynamicInsert=true,dynamicUpdate=true)" onde no manual diz que ela funciona pra fazer update e insert dinamicamente(apenas nos campos alterados) sera que estou fazendo alguma coisa de errado???

@Entity
@Table(name=“professor”)
@SequenceGenerator(name = “hprofessor_id_professor_seq”, sequenceName = “professor_id_professor_seq”)
@org.hibernate.annotations.Entity(dynamicInsert=true,dynamicUpdate=true)
public class Professor implements Serializable{
@Id
@Column(name=“ID_PROFESSOR”)
@GeneratedValue(strategy = GenerationType.AUTO, generator = “hprofessor_id_professor_seq”)
Integer id_professor;

@ManyToOne(fetch=FetchType.LAZY,optional=true)
@JoinColumn(name="id_cidadao", nullable=false, insertable=true, updatable=true)
@NotFound(action=NotFoundAction.IGNORE)
Cidadao cidadao = new Cidadao();

String nome;
Integer rg;
Integer cpf;
String sexo;

@Temporal(javax.persistence.TemporalType.DATE)
Date dt_nascimento;

String estado_civil;
Integer telefone;
Integer celular;
String email;
String logradouro;
Integer numero;
String bairro;
String cidade;
String nome_sub;
Integer telefone_sub;
Integer celular_sub;
String cidade_sub;
String logradouro_sub;
Integer num_sub;

+mais metodos getters setters da vida

Do jeito que esta acima mesmo se eu alterar um campo apenas o hibernate gera um update pra todas as colunas coloca todas as propriedade da classe no update e gera esse erro abaixo

Se colocar como null ele me retorna “Could not execute JDBC batch update”

Pessoal se alguem tiver alguma dica quaquer ajuda é bem vinda um abraço.

Um abraço

Edmilson Mattos

Faz um teste cara, tira o valor default que vc colocou pra cidadao. Tenta de novo depois disso e posta os resultados

Grave mudou o erro mais ele continua fazendo update em todas as colunas inclusive referenciando a propriedade do cidadao na hora de atualizar mesmo eu atualizando apenas um campo na minha pagina eu tirei o campo que faz referencia a propriedade da classe cidadao ai passou só que mesmo assim ele continua colocando o campo no Update mais passou.

Só que agora eu tenho outro problema porque quando eu coloco o campo dentro da pagina apontando pra propriedade cidadao na hora em que vou gravar(submit) ele dispara a Exception abaixo:

org.apache.jasper.el.JspPropertyNotFoundException - /Cadastro_professor.jsp(211,16) ‘#{ProfessorBB.professor.cidadao.id_cidadao}’ Target Unreachable, ‘cidadao’ returned null

E eu preciso deste campo na pagina? Tem alguma outra forma? Alguem sabe pq num funciona dynamicInsert=true,dynamicUpdate=true ???

Fico grato por qualquer ajuda ou sugestão.