Sessao.update(objeto) Deletando o registro

O meu botão chama o seguinte bloco de comandos:

[code] Food alimento = new Food();
try{
alimento.setId(Integer.parseInt(tfIDResultado.getText())); //PEGA O ID, QUE É PK E NÃO PODE SER MUDADO PELO USUARIO
//MAIS SETTERS
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null, “Insira os valores corretamente.”);
}

    try{
        configPesquisar.configDirSistema();
        SessionFactory fabrica = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
        Session sessao = fabrica.openSession();
        Transaction xFood = sessao.beginTransaction();
        sessao.update(alimento);
        xFood.commit();
        sessao.close();
        desativarCamposResultado();
        JOptionPane.showMessageDialog(null, "Alteração feita com sucesso.");
        preencheJTable(ordem);
    }
    catch(HibernateException e){
        JOptionPane.showMessageDialog(null, "Não foi possível fazer a gravação." + e);
    }[/code]

A classe é a seguinte:

  @Entity
public class Food implements Serializable {
      @Id
      @GeneratedValue(strategy = GenerationType.AUTO)
    int id;
    //MAIS ATRIBUTOS
    //SETTERS E GETTERS

Quando eu clico no botão ele lança um MessageDialog com “Alteração feita com sucesso.” e então apaga o registro, ao invés de atualiza-lo.
Obrigado

Caramba… Ninguém sabe responder? UP!