2010-11-27 73 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",此操作将级联到关联的实例。
    参数:对象 - 一个持久化类的瞬态的实例
    返回:所产生的标识符