- 浏览: 844922 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (379)
- struts (5)
- hibernate (16)
- spring (16)
- ssh (20)
- MySQL (16)
- 数据库脚本 (2)
- DownLoad (1)
- GAE (5)
- Java (103)
- LoadRunner (2)
- VF (1)
- 学习资料 (24)
- 软件使用 (21)
- 通信类 (4)
- 生活 (3)
- J2ME (1)
- 心理学 (1)
- Linux (26)
- Android (3)
- Oracle (1)
- 面向对象概念&面试准备 (11)
- ExtJs (2)
- Google Map (1)
- Flex (47)
- 算法研究 (1)
- share (20)
- python (1)
- MongoDB (7)
- centos6 (13)
- C++ (8)
- DB2 (3)
- C# (1)
- 代码片段 (24)
- Lucene (2)
- php (1)
- NodeJS (1)
- Express (1)
最新评论
-
shua1991:
已阅,我表示同意。
Eclipse统计代码行数 -
nakedou:
写的不错,挺详细的
在CentOS中使用 yum 安装MongoDB及服务器端配置 -
sjp524617477:
好方法
Eclipse统计代码行数 -
simpletrc:
<script>ale ...
Java写到.txt文件,如何实现换行 -
csdn_zuoqiang:
Apache Ftp Server,目前是1.0.4,非常好的 ...
Apache FtpServer在64位系统下服务不能启动解决方法
package com.hibernate.domain; import java.util.Date; public class User { public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } private int id; private String name; private Date birthday; }
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.hibernate.domain"> <class name="User" table="user"> <id name="id"> <generator class="native" /> </id> <property name="name"/> <property name="birthday"/> </class> </hibernate-mapping>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql:///hibernate</property> <property name="connection.username">root</property> <property name="connection.password">789+</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.password">789+</property> <property name="hbm2ddl.auto">create</property> <!-- <class-cache class="com.hibernate.domain.User" usage="read-only"/> --> <mapping resource="com/hibernate/domain/User.hbm.xml"/> </session-factory> </hibernate-configuration>
package com.utils; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public final class HibernateUtil { private static SessionFactory sessionFactory; private HibernateUtil(){ } public static SessionFactory getSessionFactory() { return sessionFactory; } static{ Configuration cfg = new Configuration(); cfg.configure(); sessionFactory = cfg.buildSessionFactory(); } public static Session getSession(){ return sessionFactory.openSession(); } }
package com.hibernate; import java.util.Date; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.Transaction; import com.hibernate.domain.User; import com.utils.HibernateUtil; public class Base { public static void main(String[] args) { User user = new User(); user.setBirthday(new Date()); user.setName("Eric"); addUser(user); System.out.println("id"+user.getId()); } static void addUser(User user){ Session s = null; Transaction tx = null; try{ s = HibernateUtil.getSession(); tx = s.beginTransaction(); s.save(user); tx.commit(); }catch (HibernateException e) { if(tx != null){ tx.rollback(); } throw e; }finally{ if(s != null){ s.close(); } } } }
评论
5 楼
csdn_zuoqiang
2010-08-01
Session的几个主要方法
1.save,persist保存数据,persist在事务外不会产生insert语句。
2.delete,删除对象
3.update,更新对象,如果数据库中没有记录,会出现异常。
4.get,根据ID查,会立刻访问数据库。
5.Load,根据ID查,(返回的是代理,不会立即访问数据库)。
6.saveOrUpdate,merge(根据ID和version的值来确定是save或update),调用merge你的对象还是托管的。
7.lock(把对象变成持久对象,但不会同步对象的状态)。
1.save,persist保存数据,persist在事务外不会产生insert语句。
2.delete,删除对象
3.update,更新对象,如果数据库中没有记录,会出现异常。
4.get,根据ID查,会立刻访问数据库。
5.Load,根据ID查,(返回的是代理,不会立即访问数据库)。
6.saveOrUpdate,merge(根据ID和version的值来确定是save或update),调用merge你的对象还是托管的。
7.lock(把对象变成持久对象,但不会同步对象的状态)。
4 楼
csdn_zuoqiang
2010-07-31
hibernate的三种状态区别:
1:瞬时态
与session无关,与数据库无关;
2:持久态
处于session容器中,在数据库中有记录;
3:脱管态
脱离session容器管理,在数据库中有记录。
瞬时态 调用save()方法——》持久态 调用commit(),close()方法 ——》脱管态
要更新数据库中的数据,对脱管态的数据调用update()方法。
1:瞬时态
与session无关,与数据库无关;
2:持久态
处于session容器中,在数据库中有记录;
3:脱管态
脱离session容器管理,在数据库中有记录。
瞬时态 调用save()方法——》持久态 调用commit(),close()方法 ——》脱管态
要更新数据库中的数据,对脱管态的数据调用update()方法。
3 楼
csdn_zuoqiang
2010-07-31
所有的Hibernate应用中都会访问Hibernate的5个核心接口。hibernate中的几个核心接口如下:
Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象。
SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。
Session接口:负责保存、更新、删除、加载和查询对象。
Transaction:管理事务。
Query和Criteria接口:执行数据库查询。
详细的介绍hibernate中的几个核心接口:
1.SessionFactory接口
一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例。SessionFactory有以下特点:
它是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享。
它是重量级的,这意味着不能随意创建或销毁它的实例。如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实例。如果应用同时访问多个数据库,则需要为每个数据库创建一个单独的SessionFactory实例。
之所以称SessionFactory是重量级的,是因为它需要一个很大的缓存,用来存放预定义的SQL语句以能映射元数据等。用户还可以为SesionFactory配置一个缓存插件,这个缓存插件被称为Hibernate的第二级缓存。,该缓存用来存放被工作单元读过的数据,将来其他工作单元可能会重用这些数据,因此这个缓存中的数据能够被所有工作单元共享。一个工作单元通常对应一个数据库事务。
2.Configuration接口
Configuration对象用于配置并且启动Hibernate。Hibernate应用通过Configuration实例来指定对象-关系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。
3.Query和Criteria接口
Query和Criteria接口是Hibernate的查询接口,用于向数据库查询对象,以及控制执行查询的过程。Query实例包装了一个HQL查询语句,HQL查询语句和SQL查询语句有些相似,但HQL查询语句是面向对象的,它引用类句及类的属性句,而不是表句及表的字段句。Criteria接口完全封装了基于字符串的查询语句,比Query接口更加面向对象,Criteria接口擅长执行动态查询。Session接口的find()方法也具有数据查询功能,但它只是执行一些简单的HQL查询语句的快捷方法,它的功能远没有Query接口强大。
4.Session接口
Session接口是Hibernate应用使用最广泛的接口。Session也被称为持久化管理器,它提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。
Session有以下特点:
不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个Session实例。
Session实例是轻量级的,所谓轻量级,是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建和销毁Session对象,例如为每个客户请示分配单独的Session实例,或者为每个工作单元分配单独的Session实例。
Session有一个缓存,被称为Hibernate的第一级缓存,它存放被当前工作单元加载的对象。每个Session实例都有自己的缓存,这个Sesion实例的缓存只能被当前工作单元访问。
5.Transaction接口
Transaction接口是Hibernate的数据库事务接口,它对底层的事务接口做了封装,底层事务接口包括:
JDBC API、JTA(Java Transaction API)、CORBA(Common Object Requet Broker Architecture)API
Hibernate应用可通过一致的Transaction接口来声明事务边界,这有助于应用在不同的环境容器中移植。尽管应用也可以绕过Transaction接口,直接访问底层的事务接口,这种方法不值得推荐,因为它不利于应用在不同的环境移植。
要想学好hibernate,肯定要熟练的掌握这些核心接口的用法。
Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象。
SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。
Session接口:负责保存、更新、删除、加载和查询对象。
Transaction:管理事务。
Query和Criteria接口:执行数据库查询。
详细的介绍hibernate中的几个核心接口:
1.SessionFactory接口
一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例。SessionFactory有以下特点:
它是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享。
它是重量级的,这意味着不能随意创建或销毁它的实例。如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实例。如果应用同时访问多个数据库,则需要为每个数据库创建一个单独的SessionFactory实例。
之所以称SessionFactory是重量级的,是因为它需要一个很大的缓存,用来存放预定义的SQL语句以能映射元数据等。用户还可以为SesionFactory配置一个缓存插件,这个缓存插件被称为Hibernate的第二级缓存。,该缓存用来存放被工作单元读过的数据,将来其他工作单元可能会重用这些数据,因此这个缓存中的数据能够被所有工作单元共享。一个工作单元通常对应一个数据库事务。
2.Configuration接口
Configuration对象用于配置并且启动Hibernate。Hibernate应用通过Configuration实例来指定对象-关系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。
3.Query和Criteria接口
Query和Criteria接口是Hibernate的查询接口,用于向数据库查询对象,以及控制执行查询的过程。Query实例包装了一个HQL查询语句,HQL查询语句和SQL查询语句有些相似,但HQL查询语句是面向对象的,它引用类句及类的属性句,而不是表句及表的字段句。Criteria接口完全封装了基于字符串的查询语句,比Query接口更加面向对象,Criteria接口擅长执行动态查询。Session接口的find()方法也具有数据查询功能,但它只是执行一些简单的HQL查询语句的快捷方法,它的功能远没有Query接口强大。
4.Session接口
Session接口是Hibernate应用使用最广泛的接口。Session也被称为持久化管理器,它提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。
Session有以下特点:
不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个Session实例。
Session实例是轻量级的,所谓轻量级,是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建和销毁Session对象,例如为每个客户请示分配单独的Session实例,或者为每个工作单元分配单独的Session实例。
Session有一个缓存,被称为Hibernate的第一级缓存,它存放被当前工作单元加载的对象。每个Session实例都有自己的缓存,这个Sesion实例的缓存只能被当前工作单元访问。
5.Transaction接口
Transaction接口是Hibernate的数据库事务接口,它对底层的事务接口做了封装,底层事务接口包括:
JDBC API、JTA(Java Transaction API)、CORBA(Common Object Requet Broker Architecture)API
Hibernate应用可通过一致的Transaction接口来声明事务边界,这有助于应用在不同的环境容器中移植。尽管应用也可以绕过Transaction接口,直接访问底层的事务接口,这种方法不值得推荐,因为它不利于应用在不同的环境移植。
要想学好hibernate,肯定要熟练的掌握这些核心接口的用法。
2 楼
csdn_zuoqiang
2010-07-31
Hibernate中get和load方法的区别:
1. 对于Hibernate get方法,Hibernate会确认一下该id对应的数据是否存在,首先在session缓存中查找,然后在二级缓存中查找,还没有就查询数据库,数据 库中没有就返回null。这个相对比较简单,也没有太大的争议。主要要说明的一点就是在这个版本中get方法也会查找二级缓存!
2. Hibernate load方法加载实体对象的时候,根据映射文件上类级别的lazy属性的配置(默认为true),分情况讨论:
(1)若为true,则首先在Session缓存中查找,看看该id对应的对象是否存在,不存在则使用延迟加载,返回实体的代理类对象(该代理类为 实体类的子类,由CGLIB动态生成)。等到具体使用该对象(除获取OID以外)的时候,再查询二级缓存和数据库,若仍没发现符合条件的记录,则会抛出一 个ObjectNotFoundException。
(2)若为false,就跟Hibernate get方法查找顺序一样,只是最终若没发现符合条件的记录,则会抛出一个ObjectNotFoundException。
这里get和load有两个重要区别:
如果未能发现符合条件的记录,Hibernate get方法返回null,而load方法会抛出一个ObjectNotFoundException。
load方法可返回没有加载实体数据的代 理类实例,而get方法永远返回有实体数据的对象。(对于load和get方法返回类型:好多书中都说:“get方法永远只返回实体类”,实际上并不正 确,get方法如果在session缓存中找到了该id对应的对象,如果刚好该对象前面是被代理过的,如被load方法使用过,或者被其他关联对象延迟加 载过,那么返回的还是原先的代理对象,而不是实体类对象,如果该代理对象还没有加载实体数据(就是id以外的其他属性数据),那么它会查询二级缓存或者数 据库来加载数据,但是返回的还是代理对象,只不过已经加载了实体数据。)
总之对于get和load的根本区别,一句话,hibernate对于 load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方 法,hibernate一定要获取到真实的数据,否则返回null。
1. 对于Hibernate get方法,Hibernate会确认一下该id对应的数据是否存在,首先在session缓存中查找,然后在二级缓存中查找,还没有就查询数据库,数据 库中没有就返回null。这个相对比较简单,也没有太大的争议。主要要说明的一点就是在这个版本中get方法也会查找二级缓存!
2. Hibernate load方法加载实体对象的时候,根据映射文件上类级别的lazy属性的配置(默认为true),分情况讨论:
(1)若为true,则首先在Session缓存中查找,看看该id对应的对象是否存在,不存在则使用延迟加载,返回实体的代理类对象(该代理类为 实体类的子类,由CGLIB动态生成)。等到具体使用该对象(除获取OID以外)的时候,再查询二级缓存和数据库,若仍没发现符合条件的记录,则会抛出一 个ObjectNotFoundException。
(2)若为false,就跟Hibernate get方法查找顺序一样,只是最终若没发现符合条件的记录,则会抛出一个ObjectNotFoundException。
这里get和load有两个重要区别:
如果未能发现符合条件的记录,Hibernate get方法返回null,而load方法会抛出一个ObjectNotFoundException。
load方法可返回没有加载实体数据的代 理类实例,而get方法永远返回有实体数据的对象。(对于load和get方法返回类型:好多书中都说:“get方法永远只返回实体类”,实际上并不正 确,get方法如果在session缓存中找到了该id对应的对象,如果刚好该对象前面是被代理过的,如被load方法使用过,或者被其他关联对象延迟加 载过,那么返回的还是原先的代理对象,而不是实体类对象,如果该代理对象还没有加载实体数据(就是id以外的其他属性数据),那么它会查询二级缓存或者数 据库来加载数据,但是返回的还是代理对象,只不过已经加载了实体数据。)
总之对于get和load的根本区别,一句话,hibernate对于 load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;而对于get方 法,hibernate一定要获取到真实的数据,否则返回null。
1 楼
csdn_zuoqiang
2010-07-31
save 与 persist 的区别:(没开启事务的时候体现出)
1:在都没有开启事务的时候save方法,
static void addUser(User user){
Session s = null;
Transaction tx = null;
try{
s = HibernateUtil.getSession();
//tx = s.beginTransaction();
s.save(user);
//tx.commit();
}catch (HibernateException e) {
if(tx != null){
tx.rollback();
}
throw e;
}finally{
if(s != null){
s.close();
}
}
}
产生
Hibernate: insert into user (name, birthday) values (?, ?)
id1
Hibernate: select user0_.id as id0_0_, user0_.name as name0_0_, user0_.birthday as birthday0_0_ from user user0_ where user0_.id=?
name:Eric
有sql语句,但是数据库中没有数据,因为没有事务提交,导致回滚删除记录。
1:在都没有开启事务的时候persist方法,
static void addUser(User user){
Session s = null;
Transaction tx = null;
try{
s = HibernateUtil.getSession();
//tx = s.beginTransaction();
//s.save(user);
s.persist(user);
//tx.commit();
}catch (HibernateException e) {
if(tx != null){
tx.rollback();
}
throw e;
}finally{
if(s != null){
s.close();
}
}
}
产生
id0
Hibernate: select user0_.id as id0_0_, user0_.name as name0_0_, user0_.birthday as birthday0_0_ from user user0_ where user0_.id=?
Exception in thread "main" java.lang.NullPointerException
at com.hibernate.Base.main(Base.java:21)
不能往数据库中插入数据。
1:在都没有开启事务的时候save方法,
static void addUser(User user){
Session s = null;
Transaction tx = null;
try{
s = HibernateUtil.getSession();
//tx = s.beginTransaction();
s.save(user);
//tx.commit();
}catch (HibernateException e) {
if(tx != null){
tx.rollback();
}
throw e;
}finally{
if(s != null){
s.close();
}
}
}
产生
Hibernate: insert into user (name, birthday) values (?, ?)
id1
Hibernate: select user0_.id as id0_0_, user0_.name as name0_0_, user0_.birthday as birthday0_0_ from user user0_ where user0_.id=?
name:Eric
有sql语句,但是数据库中没有数据,因为没有事务提交,导致回滚删除记录。
1:在都没有开启事务的时候persist方法,
static void addUser(User user){
Session s = null;
Transaction tx = null;
try{
s = HibernateUtil.getSession();
//tx = s.beginTransaction();
//s.save(user);
s.persist(user);
//tx.commit();
}catch (HibernateException e) {
if(tx != null){
tx.rollback();
}
throw e;
}finally{
if(s != null){
s.close();
}
}
}
产生
id0
Hibernate: select user0_.id as id0_0_, user0_.name as name0_0_, user0_.birthday as birthday0_0_ from user user0_ where user0_.id=?
Exception in thread "main" java.lang.NullPointerException
at com.hibernate.Base.main(Base.java:21)
不能往数据库中插入数据。
发表评论
-
Hibernate配置文件中指定MySQL数据库的编码方式
2010-10-02 21:50 6594Hibernate配置文件中指定MySQL数据库的编码方式 ... -
hibernate主键生成策略设置不当导致的错误
2010-09-05 12:53 8735ERROR - Exception executing bat ... -
ehcache版本问题导致的一个错误
2010-09-05 10:53 8197org.springframework.beans.facto ... -
hibernate如何设置数据库中字段的默认值
2010-09-03 20:30 2097在配置文件中 <property name=&qu ... -
hibernate3 小结
2010-08-05 16:24 10151、Configuration/SessionFactor ... -
hibernate3的缓存管理
2010-08-05 16:01 9081、Cache简介: 缓 ... -
Hibernate 继承关系的映射
2010-08-04 18:38 1029Hibernate 中支持的 3种类型的继承关系: 1, ... -
hibernate inverse,cascade说明
2010-08-04 00:25 11441.cascade="..."? cas ... -
hibernate笔记整理
2010-08-03 16:36 1302原文地址:http://blog.csdn ... -
hibernate关联关系-组件关联
2010-08-03 13:28 942组件关联关系的映射与原理: 模型:User — Nam ... -
hibernate关联关系-一对一
2010-08-03 13:23 873hibernate关联关系:一对一 模型:Person ... -
hibernate关联关系-多对一
2010-08-03 13:18 964多对一关联关系: 模型:员工Employee — 部门 ... -
hibernate CRUD模板
2010-08-01 18:18 2185实验步骤: 1.设计domain对象User。 2.设计U ... -
Hibernate setFirstResult()和setMaxResults()实现分页查询
2010-07-31 16:04 3647Hibernate 可以实现分页查询,例如: 从第2万条开始取 ... -
DAO编程模式
2010-06-03 15:32 910J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据 ...
相关推荐
在给定的压缩包文件"hibernate-3.6.6-001.rar"中,包含了Hibernate 3.6.6的发行版,这个版本是Hibernate历史上的一个重要里程碑,提供了丰富的功能和改进。 **一、Hibernate概述** Hibernate 提供了一种在Java应用...
Hibernate Search 是一个强大的全文搜索引擎框架,它将Apache Lucene库集成到Hibernate ORM中,使得在Java应用程序中实现复杂的全文检索和分析功能变得简单。这个"hibernate-search-5.5.4 api docset for Dash"是...
官方hibernate 包括hibernate3.jar lib 示例project 帮助文档documentation
《Hibernate之配置使用案例hibernate001》 Hibernate,作为Java领域中的一款主流对象关系映射(ORM)框架,极大地简化了数据库操作。它允许开发者使用面向对象的方式来处理数据库,而无需直接编写SQL语句。在本案例...
Hibernate 4.2.2 是一个非常重要的Java持久化框架版本,它在企业级应用开发中扮演着核心角色。这个版本提供了对Java对象与数据库之间的映射管理,使得开发者能够以面向对象的方式处理数据,而无需关注底层的SQL操作...
001---Hibernate简介 Hibernate是一个Java库,它允许开发人员在Java对象和关系数据库之间进行映射。ORM框架的目标是消除传统的JDBC代码,通过提供一种抽象层来处理数据库交互。它将Java类与数据库表关联,将对象实例...
在给定的压缩包文件"hibernate-001-HelloWorld"中,我们可以预期找到一个简单的Hibernate入门示例,可能包括以下内容: 1. **实体类(Entity)**:代表数据库表的JavaBean。 2. **映射文件**:描述实体类与数据库表...
spring.jpa.hibernate.ddl-auto=update ``` 3. 定义实体类:创建Java类作为数据库表的映射,使用`@Entity`注解标识,并使用`@Table`指定对应的表名。属性上使用`@Id`、`@GeneratedValue`等注解定义主键。 4. 创建...
《Hibernate实战:hibernateDemo_001项目解析》 Hibernate是一款强大的Java持久层框架,它极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑的实现,而非繁琐的SQL语句编写。在这个名为"hibernateDemo_001...
- `hibernate_17_001_jdbc`: 这部分代码展示了如何使用Hibernate与JDBC进行交互,包括创建SessionFactory、Session对象,以及执行基本的CRUD操作。 - `hibernate_17_003_setQueryCondition`: 这部分内容可能涉及到...
6. **hibernate_11_001_MyDefinitionUserType** 和 **hibernate_11_002_MyDefinitionType_BKBLX**: 这些章节可能涉及到自定义类型。在Hibernate中,你可以通过实现UserType接口来自定义数据类型的映射,使非标准的...
`HibernateSource.rar.002`可能是一个分卷压缩文件,通常需要所有部分(可能包括`.001`,`.002`等)一起解压才能得到完整的源代码或资源。`合并文档必读.doc`可能是一个文档,指导读者如何将Hibernate、J2EE、Spring...
例如,Commons-logging用于日志记录,Hibernate或iBatis可能用于持久化操作,而JSTL和EL则用于JSP页面的表达式语言,简化页面脚本。 总的来说,学习Struts1.x需要掌握MVC模式,理解其核心组件如Action、Form Bean和...
man.setManId("001"); man.setManName("John Doe"); // 保存对象 session.save(man); // 提交事务 session.beginTransaction().commit(); // 关闭Session session.close(); ``` #### 七、项目实践 在实际项目中...
"GIISOF01-3-001-Repositorios-De-Informacion:奥维耶多大学的信息库"这个项目,显然是关于创建或使用信息库的一个实例,可能是针对奥维耶多大学的一个特定系统。下面我们将深入探讨与之相关的知识点。 首先,我们...
内容:hibernate001:通过 XML 配置的基本示例 hibernate002:通过注释配置的基本示例 hibernate003:会话方法练习 hibernate004:组件使用示例 hibernate005:单向关系映射示例 hibernate006:双向关系映射示例 ...