essionFactory sf = conf.buildSessionFactory(); //2、创建SessionFactory Session session = sf.openSession(); //3、打开Session Transaction tx = session.beginTransaction(); //4、开始事务 在 Hibernate 中,实体类是与数据库表相对应的 Java 类,例如这里的 `User` 类。实体类需要实现 `Serializable` 接口,因为 Hibernate 在处理对象时需要序列化。实体类中的属性对应于数据库表的列,通过 getter 和 setter 方法进行访问。`User.hbm.xml` 文件是映射文件,它定义了 `User` 类与数据库表 `userinfo` 的映射关系,包括主键 `uid` 及其他的属性如 `uname`, `sex`, `age` 和 `birth`。 映射文件中,`<id>` 标签定义了主键,`<property>` 标签定义了普通属性。`<generator class="increment">` 指定了主键生成策略,这里使用的是自动增长。其他属性如 `uname`, `sex`, `age` 和 `birth` 的 `<property>` 标签则分别对应了数据库表的相应列。 在程序中,我们首先通过 `Configuration` 类读取 `Hibernate.cfg.xml` 配置文件,然后构建 `SessionFactory`。`SessionFactory` 是整个 Hibernate 的核心,负责管理所有 Session 的创建。由于创建和销毁 `SessionFactory` 都比较耗资源,所以通常一个应用对一个数据库只需要一个 `SessionFactory`。 接下来,我们打开一个 `Session` 对象,它类似于 JDBC 中的 `Connection`,用于与数据库进行交互。然后开启一个事务,这是数据库操作的基本单元,确保一组操作要么全部成功,要么全部失败。接着,我们可以执行持久化操作,如增删改查。在示例代码中,我们没有展示具体的操作,但通常会调用 `session.save()`, `session.update()`, `session.delete()` 或 `session.load()` 这样的方法。 完成持久化操作后,提交事务以确保所有更改保存到数据库。关闭 `Session` 以释放资源。这是标准的 Hibernate 操作流程,遵循了 ORM(对象关系映射)的原则,简化了数据库操作。 在实际开发中,Hibernate 提供了 Criteria 查询、HQL(Hibernate Query Language)以及更高级的 Criteria API,使得开发者可以更灵活地查询数据库。此外,Hibernate 还支持缓存机制,可以提高数据读取性能。Hibernate 是一个强大的 ORM 工具,能够极大地提升 Java 开发者处理数据库任务的效率和代码的可维护性。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助