Onetomany FK null hibernate "Deve ter um jeito"

0 respostas
E

Pessoal é o seguinte deve ser coisa simples pra quem ja tem experiencia com hibernate 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

Criado 2 de junho de 2009
Respostas 0
Participantes 1