Hibernate + annotations + Mysql problema de integridade referencial

e aew pessoal boa tarde, td certo com vcs ? eh meu primeiro post por aki \o/

enfim eu estou tendo probelas com configuração do hibernate, quero q minhas tabelas no mysql tenham as chaves estrangeiras com update cascade e delete restrict, o delete não preciso mudar nd pq jah eh defaul o restrict, só q o update estou tendo mts dificuldades, jah pesquisei em otros sites, otros topicos daki msm, cada um m dando uma solução diferente, jah tentei um monte d annotation, jah troquei driver do mysql do hibernate.cfg.xml, jah achei gente flando q num tem solução q vo teh q tira o @ManyToOne e colocar um @OneToMany ou um @OnoToOne pra pode faze a integridade referencial, enfim mudar a estrutura das classes vai fica pra ultimo caso, m ajudem aew pessoa, meu codigo tah assim :


package Classes.Pendencias;

import Classes.Informacao.Pendencias.Prioridade;
import Classes.Informacao.Pendencias.TipoPendencia;
import Classes.Informacao.Softwares.VersaoSoftware;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import Classes.Pessoas.Programador;
import Classes.Pessoas.Analista;
import Classes.Pessoas.Cliente;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

@Entity
@Table(name="pen_pendencias")
public class Pendencia {
    
    @Id
    @GeneratedValue
    @Column(name="pen_codigo", length = 6)
    private int codigo;
    
    @Column(name="pen_problema",  nullable=false, length = 100)
    private String problema;
    
    @Column(name="pen_tela",  nullable=false, length = 100)
    private String tela;
    
    @Column(name="pen_caminhotela",  nullable=false, length = 130)
    private String caminhoTela;
    
    @Column(name="pen_detalhes",  nullable=false, length = 100)
    private String Detalhes;
    
    @JoinColumn(name="pri_codigo",  nullable=false)
    @ManyToOne
    private Prioridade prioridade;
    
    @JoinColumn(name="tpp_codigo",  nullable=false)
    @ManyToOne
    private TipoPendencia tipoPendencia;
    
    @JoinColumn(name="vso_codigo",  nullable=false)
    @ManyToOne
    private VersaoSoftware versaoSoftware;
    
    @JoinColumn(name="pes_cliente",  nullable=false)
    @ManyToOne
    private Cliente clinte;
    
    @JoinColumn(name="pes_analista",  nullable=false)
    @ManyToOne
    private Analista analista;
    
    @JoinColumn(name="pes_programador")
    @ManyToOne
    @Cascade({CascadeType.MERGE,CascadeType.PERSIST})
    private Programador programador;
    
    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public String getProblema() {
        return problema;
    }

    public void setProblema(String problema) {
        this.problema = problema;
    }

    public String getTela() {
        return tela;
    }

    public void setTela(String tela) {
        this.tela = tela;
    }

    public String getCaminhoTela() {
        return caminhoTela;
    }

    public void setCaminhoTela(String caminhoTela) {
        this.caminhoTela = caminhoTela;
    }

    public String getDetalhes() {
        return Detalhes;
    }

    public void setDetalhes(String Detalhes) {
        this.Detalhes = Detalhes;
    }

    public Prioridade getPrioridade() {
        return prioridade;
    }

    public void setPrioridade(Prioridade prioridade) {
        this.prioridade = prioridade;
    }

    public TipoPendencia getTipoPendencia() {
        return tipoPendencia;
    }

    public void setTipoPendencia(TipoPendencia tipoPendencia) {
        this.tipoPendencia = tipoPendencia;
    }

    public VersaoSoftware getVersaoSoftware() {
        return versaoSoftware;
    }

    public void setVersaoSoftware(VersaoSoftware versaoSoftware) {
        this.versaoSoftware = versaoSoftware;
    }

    public Cliente getClinte() {
        return clinte;
    }

    public void setClinte(Cliente clinte) {
        this.clinte = clinte;
    }

    public Analista getAnalista() {
        return analista;
    }

    public void setAnalista(Analista analista) {
        this.analista = analista;
    }

    public Programador getProgramador() {
        return programador;
    }

    public void setProgramador(Programador programador) {
        this.programador = programador;
    }
}

meu hibernate.cfg.xml tah assim :


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/persistenciajava?zeroDateTimeBehavior=convertToNull</property>
    <property name="hibernate.connection.username">root</property>
     <property name="hibernate.hbm2ddl.auto">update</property>
    <property name="hibernate.current_session_context_class">thread</property>
    <mapping class="Classes.Informacao.Pendencias.Prioridade"/>
    <mapping class="Classes.Informacao.Pendencias.Status"/>
    <mapping class="Classes.Informacao.Pendencias.StatusPendencia"/>
    <mapping class="Classes.Informacao.Pendencias.TipoPendencia"/>
    <mapping class="Classes.Informacao.Pendencias.TipoStatus"/>
    <mapping class="Classes.Informacao.Pessoas.Login"/>
    <mapping class="Classes.Informacao.Pessoas.Operadora"/>
    <mapping class="Classes.Informacao.Pessoas.Telefone"/>
    <mapping class="Classes.Informacao.Softwares.VersaoSoftware"/>
    <mapping class="Classes.Pendencias.Pendencia"/>
    <mapping class="Classes.Pessoas.Analista"/>
    <mapping class="Classes.Pessoas.Cliente"/>
    <mapping class="Classes.Pessoas.Empresa"/>
    <mapping class="Classes.Pessoas.Funcionario"/>
    <mapping class="Classes.Pessoas.Pessoa"/>
    <mapping class="Classes.Pessoas.Programador"/>
    <mapping class="Classes.Softwares.Software"/>
  </session-factory>
</hibernate-configuration>

dah uma força aew pessoal

flw

alguem aew dah uma luz please