hibernate源码分析1-保存一个对象

要点

  1. 用了event的方式贯穿CRUD的过程 值得学习
  2. dynamic-insert 支持 插入时 可选 全字段插入 还是仅仅有值的字段插入。
  3. 返回主键的值 用了 Serializable 类型作为方法签名返回值 可以兼容long int String等主键值类型
  4. 真正的插入动作的代码:
public Serializable executeAndExtract(PreparedStatement insert) throws SQLException {
			insert.executeUpdate();
			ResultSet rs = null;
			try {
				rs = insert.getGeneratedKeys();
				return IdentifierGeneratorHelper.getGeneratedIdentity(
						rs,
						persister.getIdentifierType()
				);
			}
			finally {
				if ( rs != null ) {
					rs.close();
				}
			}
		}

--EOF--

原文地址:https://www.cnblogs.com/simoncook/p/7662294.html