2010-11-27 15 views

Antwort

10

Der Rückgabewert von session.save() hängt von Ihrer Zuordnung ab. Höchstwahrscheinlich haben Sie eine Art von ID, die kein Long ist. Versuchen Sie, dies zu tun:

System.out.println(session.save(object).getClass().getName()); 

Dann sehen Sie den Typnamen.

+0

, wie wissen, ob durchgeführt oder nicht retten? Gibt es eine Überprüfung im Ruhezustand wie die normale JDBC PreparedStatement-Zählung? – mannedear

2

Es gibt zwei Methoden:

  1. public Serializable save(Object object) throws HibernateException
    bleiben das gegebene transiente Beispiel zuerst eine generierte Kennung zuweisen. (Oder den aktuellen Wert der Bezeichnereigenschaft verwenden, wenn der zugewiesene Generator verwendet wird.) Diese Operation kaskadiert zu verknüpften Instanzen, wenn die Zuordnung mit cascade="save-update" zugeordnet ist.
    Parameter: Objekt - eine vorübergehende Instanz einer persistenten Klasse
    Returns: die erzeugte Kennung

  2. public Serializable save(String entityName, Object object) throws HibernateException
    Persist das transiente Beispiel gegeben, zunächst eine generierte Kennung zuweisen. (Oder den aktuellen Wert der Bezeichnereigenschaft verwenden, wenn der zugewiesene Generator verwendet wird.) Diese Operation kaskadiert zu verknüpften Instanzen, wenn die Zuordnung mit cascade="save-update" zugeordnet ist.
    Parameter: Objekt - eine vorübergehende Instanz einer persistenten Klasse
    Returns: die erzeugte Kennung

Verwandte Themen