2

オブジェクトを削除したいのですが、次のエラーが表示されます:

javax.ejb.EJBException: java.lang.IllegalArgumentException: デタッチされたインスタンスを削除しています。

私のコード:

public void remover(MensagemContato param) {
    PersistenciaMensagemContato pParam = new PersistenciaMensagemContato();     
    pParam.delete(param);
    pParam.close();
}

休止状態を使用したオブジェクトの単純な削除でこの問題を経験した人はいますか?

ありがとう!

デボラ

4

3 に答える 3

0

PersistenciaMensagemContatoエンティティに ID が指定されていません。Hibernate は削除する参照をどのように認識しますか?

于 2013-03-28T14:08:49.917 に答える
0

データベースにないエンティティは削除できません。ID 値を持つエンティティのみを削除できます。

于 2013-03-28T14:15:55.200 に答える
-1

これは良いチュートリアルです... http://www.tutorialspoint.com/hibernate/hibernate_examples.htm

public void deleteEmployee (Integer EmployeeID){
  Session session = factory.openSession();
  Transaction tx = null;
    try {
        tx = session.beginTransaction();
        Employee employee =
                    (Employee) session.get(Employee.class, EmployeeID);
        session.delete(employee);
        tx.commit();
    } catch (HibernateException e) {
        if (tx != null) tx.rollback();
        e.printStackTrace();
    } finally {
        session.close();
    }
}
于 2013-03-28T15:38:48.797 に答える