2010-11-27 58 views

回答

10

返回值session.save()取決於您的映射。很有可能你有一個不是Long的ID類型。嘗試這樣做:

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

然後你會看到類型名稱。

+0

如何知道是否保存執行與否?有沒有像正常的JDBC PreparedStatement計數一樣在hibernate中進行檢查 – mannedear 2018-02-01 07:38:46

2

有兩種方法:

  1. public Serializable save(Object object) throws HibernateException
    堅持給定的瞬態的實例中,首先分配一個生成的標識符。 (或者如果使用分配的生成器,則使用標識符屬性的當前值。)如果關聯映射到cascade="save-update",此操作將級聯到關聯的實例。
    參數:對象 - 一個持久類
    返回的瞬態的實例:所產生的標識符

  2. public Serializable save(String entityName, Object object) throws HibernateException
    堅持給定的瞬態的實例中,首先分配一個生成的標識符。 (或者如果使用分配的生成器,則使用標識符屬性的當前值。)如果關聯映射到cascade="save-update",此操作將級聯到關聯的實例。
    參數:對象 - 一個持久化類的瞬態的實例
    返回:所產生的標識符