-
Hibernate对JDBC进行了轻量级的对象封装 其他主流的ORM框架:MyBaitsB(前身iBaits),EJB(重量级,使用较少),Toplink查看全部
-
juit4测试成功,秘诀--用的是建立的是java project,注意hibernate的版本。作者用的是4.2版本的,如果找不到可以直接用作者的资料下载包。查看全部
-
get load get不考虑缓存,在调用后立即向数据库发出sql语句。返回持久化对象 查询对象在数据库中不存在时 返回是你null load方法会在调用后返回一个代理对象,该对象只保存了实体对象的id,直到调用对象非主键属性时才会发出sql语句 查询对象在数据库中不存在时 返回是一个异常 第二个区别: 查询数据库中不存在的数据时,get方法返回null;load方法抛出异常org.hibernate.ObjectNotFoundException查看全部
-
组件属性 就是用一类把几个属性封装在一起用类的对象调用,在配置文件中 <component name="取的名字" class="类名"> <property name="类中属性" columen="对应生成数据库中列属性名"> </cpt>查看全部
-
MySQL不支持标准SQL的CLOB类型,在Mysql中,用TEXT,MEDIUMTEXT及LONGTEXT类型来表示长度超过255的长文本数据查看全部
-
对象类型查看全部
-
时间类型查看全部
-
主键生成策略查看全部
-
hbm配置文件常用设置 3查看全部
-
hbm配置文件常用设置 2查看全部
-
hbm配置文件常用设置查看全部
-
openSession与getCurrentSession的区别: (1)getCurrentSession在事务提交或者回滚之后会自动关闭,而openSesssion需要你手动关闭。如果使用openSession而没有手动关闭,多次之后会导致连接池溢出! (2)openSession每次创建新的session对象,getCurrentSession使用现有的session对象查看全部
-
如何获得session对象??? (1)openSessionion (2)getCurrentSession 如果使用getCurrentSession需要在hibernate.cfg.xml文件中进行配置: 如果是本地事务(jdbc事务) <property name="hibernate.current_session_context_class">thread</property> 如果是全局事务(jta事务) <property name="hibernate.current_session_context_class">jta</property>查看全部
-
transaction 事务 hibrenate操作都是封装在事物中,并且默认是非自动提交方式,所以session保存对象时,如果不开启事物,并且手工提交事物,对象并不会真正保存在数据库中 注意:不开启事务就不能将对象保存到数据库中 不推荐的自动提交方式!!! session.doWork(new Work(){ @override public void execute(Connection connection) throw SQLException{ connection.setAutoCommit(true); } }); session.save(s); session.flush():输出sql语句查看全部
-
1.不建议直接使用jdbc的connection操作数据库,而是通过session操作数据库。 2.session可以了解为操作数据库的对象,操作数据库之前必须先获取session的实例 3.session与connection,是多对一关系,每个session都有一个与之对应的connection,一个connection不同时刻可以供多个session使用。 4.把对象保存到关系数据库中需要调用session的各种方法:save(),update(),delete(),createQuery()查看全部
举报
0/150
提交
取消