hibernate学习笔记

  Configuration configuration = new Configuration().configure();
  
  ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();

  SessionFactory sessionFactory = new MetadataSources( serviceRegistry ).buildMetadata().buildSessionFactory();
  
//  StandardServiceRegistryBuilder registryBuilder = new StandardServiceRegistryBuilder()
//    .applySettings(configuration.getProperties());
//
//  StandardServiceRegistry registry = registryBuilder.build();
//
//  sessionFactory = configuration.buildSessionFactory(registry);
  
  session = sessionFactory.openSession();

  transaction = session.beginTransaction();

1. 加载hibernate配置文件

2. 获取 SessionFactory

3. 获取 Session

其中在获取 SessionFactory 时按照示例程序的代码(注释区域)行不通,在 Stack Overflow 找到了解决办法,最终实现了。

tip:

    User yawn = new User("yawn", "liu1234");
    User yawn2 = yawn;
    
    session.save(yawn);
    session.save(yawn2);

最终保存的结果只有一条记录,yawn 和 yawn2 属于同一实例的不同引用,所以只对应数据库中一个元组。

  User yawn = new User("yawn", "liu1234");
  session.save(yawn);
  
  yawn = new User("yawn2", "liu1234");
  session.save(yawn);

保存结果又两条记录,两次yawn 分别是不同对象的引用。

  User yawn = new User("yawn", "liu1234");
  session.save(yawn);
  
  yawn.setName("yawn2");
  yawn.setPwd("1234yawn");
  session.save(yawn);

保存结果只有一条记录。

    hibernate的学习自今日开始,加油!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ASP.NET MVC5 后台权限管理系统

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(10)-系统菜单栏[附源码]

似乎我们需要更多的模块了,我们有一个样例程序,可以帮助我们以后的系统开发做很多对照,我们稍后还有系统日志和系统异常的记录,这时浏览发生了困难,我们这一节来完成一...

2539
来自专栏Android 开发者

[译] 从 SQLite 逐步迁移到 Room

2215
来自专栏技术博文

php QR Code二维码生成类

<?php /* * PHP QR Code encoder * * This file contains MERGED version of PHP ...

3475
来自专栏杨建荣的学习笔记

dataguard中的密码文件管理(r8笔记第39天)

这篇文章的动力来自于一个朋友的提问,他问我备库的密码文件直接重建可以吗,我说最好还是复制,如果重建可能会有一些潜在的问题,当然这个所谓潜在问题也是自己给自己打的...

37013
来自专栏Golang语言社区

48. 访问MySql数据库增删改查和连接池及空字段处理 | 厚土Go学习笔记

和上一节相比,go 语言访问 MySql 数据库可以有更好的写法,今天来讲一下连接池。同时,也演示一下当表字段内容为 NULL 时,go 语言的处理。 首先我们...

3868
来自专栏有趣的django

Flask构建微电影(二) 第三章、项目分析、搭建目录及模型设计

1360
来自专栏木宛城主

利用Microsoft.VisualBasic中TextFieldParser解析器把CSV格式倒入数据库

写了个Demo,利用Microsoft.VisualBasic这个程序集中的TextFieldParser解析器解析CSV格式的文件,然后将解析的数据插入到相...

17010
来自专栏Java Web

MyBatis(2)——MyBatis 深入学习

编写日志输出环境配置文件 在开发过程中,最重要的就是在控制台查看程序输出的日志信息,在这里我们选择使用 log4j 工具来输出: 准备工作: 将【MyBati...

3233
来自专栏数据库新发现

在Mac上通过Docker部署Oracle Database 12.2版本

Oracle 已经宣布支持了Docker部署,这也让我们在Mac上部署 Oracle 数据库有了多一个选择,这是我的第一个Docker应用,非常简便快速的就完...

956
来自专栏岑玉海

RavenDb学习(二)简单的增删查改

在上一节当中已经介绍了RavenDb的文档设计模式,这一节我们要具体讲一讲如何使用api去访问RavenDb 1.连接RavenDb var docum...

3455

扫码关注云+社区