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