-
ORM:对象/关系映射 经常把对象信息保存在关系型数据库中,需要写很多SQL语句,与面向对象思想不符查看全部
-
访问数据库初始化代码查看全部
-
@get和load区别:<br> 1、get不考虑缓存,在调用后立即向数据库发出sql语句。返回持久化对象。(持久化对象:本身)<br> 查询对象在数据库中不存在时,返回是你null。<br> 2、load方法会在调用后返回一个代理对象,该对象只保存了尸体对象的id,直到调用对象非主键属性时才会发出sql语句。(代理对象:替代品)<br> 查询对象在数据库中不存在时,返回是一个异常。<br> <br> Ps:可以单独测试一个类中的一个方法。它不会执行其他的@Test。但是会执行@Before和@After。 在hibernate.cfg.xml配置文档中加入两行 <property name="connection.useUnicode">true</property> <property name="connection.characterEncoding">UTF-8</property> 这样在数据表中就可以显示中文了查看全部
-
单表get与load的区别查看全部
-
对象类型查看全部
-
属性的基本类型查看全部
-
主键生成策略查看全部
-
hibernate-mapping的属性设置查看全部
-
openSession与getCurrentSession的区别<br> 1.getCurrentSession使用了到了单例模式使用现有的对象,虽然每一次运行都不一样,但同一个方法当中获取的session是一样的,无需手动关闭,并且,在openSession之前就可获取,可见,Hibernate早早地准备好了session对象<br> 2.openSession每次创建新的session对象,必须要手动关闭,否则时间一长会照常连接池溢出<br>查看全部
-
openSession 每次使用都是打开一个新的session,使用完需要调用close方法关闭session; getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一 ; 一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession;查看全部
-
如何获取session对象查看全部
-
transaction简介: 1.Hibernate推荐使用手工开启,提交事物的方式 a.transaction=session.beginTransaction(); b.transaction.commit(); 2.如果使用自动提交的方式,需要调用doWork()方法,并且要求刷新session.flush(); a. session.doWork(new Work() { @Override public void execute(Connection connection) throws SQLException { // TODO Auto-generated method stub connection.setAutoCommit(true); } });查看全部
-
hibernate执行流程 configuration:读取配置文档 sessionFactory:对象关系映射文件 session:操作数据库的对象,类似于JDBC中的connection session的方法:save,delete,update,createQuery() Transaction:commit session和connection:多对一关系,一个connection服务多个session,每个session都有与之对应的connection 1.不建议直接使用jdbc的connection操作数据库,而是通过session操作数据库。 2.session可以了解为操作数据库的对象,操作数据库之前必须先获取session的实例 3.session与connection,是多对一关系,每个session都有一个与之对应的connection,一个connection不同时刻可以供多个session使用。 4.把对象保存到关系数据库中需要调用session的各种方法:save(),update(),delete(),createQuery查看全部
-
hibernate.cfg.xml常用配置查看全部
-
基本类型表查看全部
举报
0/150
提交
取消