【问题标题】:What is the difference between Hibernate save and SQL insert?Hibernate保存和SQL插入有什么区别?
【发布时间】:2014-11-10 12:24:35
【问题描述】:

通常我通过 sql / hql 语句插入或更新对象将对象存储在数据库中。

query = session.createQuery("INSERT INTO Employee(firstName, lastName, salary)");
query.executeUpdate();

最近我读到了 Hibernates session.save() 方法,该方法接受一个类,并且似乎自动将具有其属性的类插入到数据库中。

所以我想知道,“保存”是做什么的?

它只是为用户生成一条 SQL 语句吗?

或者说和普通的hqlQuery方式相比有什么优势或者劣势?

【问题讨论】:

标签: java sql database hibernate hql


【解决方案1】:

保存:

Save 方法将对象存储到数据库中。它将持久化给定的瞬态实例,首先分配一个生成的标识符。它返回创建的实体的 id。

正如docs 所说,

持久化给定的瞬态实例,首先分配一个生成的 标识符。 (或者使用标识符属性的当前值,如果 使用分配的生成器。)此操作级联到关联 如果关联使用 cascade="save-update" 映射,则实例。

也可以看看What are the differences between the different saving methods in Hibernate?

【讨论】:

    猜你喜欢
    • 2020-12-19
    • 2013-04-19
    • 2011-08-06
    • 2021-09-11
    • 2010-09-14
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    相关资源
    最近更新 更多