`

hibernate 3.6.10版 4.3.8版 demo

 
阅读更多

今天抽空看了hibernate官方文档,拿到目前最新版本4.3.8,按照官方文档调试,遇到一些问题。

在网上找答案的时候,资料很少,搜了好久,一直没找到原因。

 

然后,我就试着将版本降到3.6.10版本,这样一来资料多了很多,解决后,将版本升级到4.3.8,OK!

 

用 hibernate 3.6.10版 实现简单的demo

 

结构图如下:

 

1.JAR包

 

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>3.6.10.Final</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.34</version>
		</dependency>

		<dependency>
			<groupId>org.javassist</groupId>
			<artifactId>javassist</artifactId>
			<version>3.18.1-GA</version>
		</dependency>
	</dependencies>

 2.hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!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="connection.url">jdbc:mysql://ip:端口/数据库</property>
		<property name="connection.username">用户名</property>
		<property name="connection.password">密码</property>
		<property name="connection.driver_class"> com.mysql.jdbc.Driver </property>

		<property name="dialect"> org.hibernate.dialect.MySQLDialect </property>
		<property name="hibernate.show_sql">true</property>

		<mapping resource="org/hibernate/po/Dept.hbm.xml" />

	</session-factory>
</hibernate-configuration> 

 3.*.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
	<class name="org.hibernate.po.Dept" table="ROMS_SYS_DEPT">
		<id name="deptId" type="java.lang.String" column="DEPT_ID"/>
		<property name="deptName" type="java.lang.String" column="DEPT_NAME"/>
		<property name="deptPid" type="java.lang.String" column="PDEPT_ID"/>
	</class>
</hibernate-mapping>

 4.PO类

public class Dept {

	private String deptId;
	private String deptName;
	private String deptPid;

	// getter,setter 省略 
}

 5.HibernateUtil 类

public class HibernateUtil {

	private static final SessionFactory sessionFactory = buildSessionFactory();

	private static SessionFactory buildSessionFactory() {
		SessionFactory sessionFactory = null;
		try {
			Configuration conf = new Configuration();
			conf.configure();
			// 装载指定的配置文件
			// conf.configure(new File("abc.xml"));
			// 创建 SessionFactory
			sessionFactory = conf.buildSessionFactory();
			} catch (Throwable ex) {
			System.err.println("Initial SessionFactory creation failed:" + ex);
			throw new ExceptionInInitializerError(ex);
		}
		return sessionFactory;
	}

	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}

}

 6.Manager处理类

public class DeptManager {

	public static void main(String[] args) {
		DeptManager mgr = new DeptManager();
		mgr.createAndStoreEvent("My Event", new Date());
//		HibernateUtil.getSessionFactory().close();
	}

	private void createAndStoreEvent(String title, Date theDate) {
		Dept dept = new Dept();
		dept.setDeptId("1111");
		dept.setDeptName("测试部门");
		dept.setDeptPid("000");

		Session session = HibernateUtil.getSessionFactory().openSession();	
		Transaction tx = session.getTransaction();
		// 开启事务
		tx.begin();
		session.save(dept);
		tx.commit();
		session.close();
	}
}

 7.sql

 

DROP TABLE IF EXISTS `ROMS_SYS_DEPT`;
CREATE TABLE `ROMS_SYS_DEPT` (
  `DEPT_ID` varchar(32) CHARACTER SET utf8 NOT NULL DEFAULT '',
  `DEPT_NAME` varchar(32) CHARACTER SET utf8 DEFAULT NULL,
  `PDEPT_ID` varchar(32) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`DEPT_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

4.3.8 版本调整的文件

 

1.HibernateUtil

public class HibernateUtil {

	private static final SessionFactory sessionFactory = buildSessionFactory();

	private static SessionFactory buildSessionFactory() {
		SessionFactory sessionFactory = null;
		try {

			Configuration configuration = new Configuration()
					.configure("hibernate.cfg.xml");

			ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
					.applySettings(configuration.getProperties()).build();

			sessionFactory = configuration.buildSessionFactory(serviceRegistry);

		} catch (Throwable ex) {
			System.err.println("Initial SessionFactory creation failed:" + ex);
			throw new ExceptionInInitializerError(ex);
		}
		return sessionFactory;
	}

	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}
}

 

2.DeptManager

 

public class DeptManager {

	public static void main(String[] args) {
		DeptManager mgr = new DeptManager();

		// if (args[0].equals("store")) {
		// mgr.createAndStoreEvent("My Event", new Date());
		// }

		mgr.createAndStoreEvent("My Event", new Date());
		HibernateUtil.getSessionFactory().close();
	}

	private void createAndStoreEvent(String title, Date theDate) {
		Dept dept = new Dept();
		dept.setDeptId("1111");
		dept.setDeptName("测试部门");
		dept.setDeptPid("000");

		Session session = HibernateUtil.getSessionFactory().openSession();

		session.beginTransaction();
		session.save(dept);
		session.getTransaction().commit();
	}
}

 

  • 大小: 14.6 KB
分享到:
评论

相关推荐

    Hibernate3.6.10 发布版jar

    此压缩包提供的版本是Hibernate 3.6.10,这是一个稳定且功能丰富的版本,包含了对Java Persistence API(JPA)的支持。 Hibernate 3.6.10的主要特性包括: 1. **持久化模型对象**:Hibernate允许开发者定义Java类...

    hibernate 3.6.10.chm

    hibernate 3.6.10.chm

    hibernate3.6.10.Final

    标题提到的"hibernate3.6.10.Final"是Hibernate的一个重要版本,标志着该版本经过多轮测试和修复,达到了高度稳定的状态,适合在生产环境中使用。 在描述中提到了“hibernate 3.6.10 Final版,稳定”,这表明这个...

    Hibernate 3.6.10需要的完整jar包

    描述中提到,这些jar包是在整合Struts2.3.15、Hibernate3.6.10和Spring 3.2.4这三个流行开源框架的过程中被确定为必需的。Struts2是一个用于构建Web应用程序的MVC框架,而Spring则是一个全面的企业级应用开发框架,...

    hibernate3.6.10-Final-api.chm

    hibernate3.6.10-Final-api.chm最新版的hibernate3.6.10chm版本的帮助文档,可以提供搜索功能

    Struts2.3.16.1+Hibernate3.6.10+Spring3.2.8整合

    Struts2.3.16.1+Hibernate3.6.10+Spring3.2.8整合 能够运行,没有任何问题 另外附带applicationContext.xml、struts.xml、hibernate.cfg.xml

    hibernate3.6.10final官方文档

    《Hibernate 3.6.10 Final 官方文档》是Java开发中极其重要的参考资料,它详尽地阐述了Hibernate框架在3.6.10版本中的各项功能、配置和使用方法。Hibernate作为一款强大的对象关系映射(ORM)工具,能够帮助开发者将...

    Hibernate 3.6.10 final Release

    **Hibernate 3.6.10 Final Release:Java ORM框架的里程碑** Hibernate 是一个流行的开源对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互。在这个3.6.10最终版本中,Hibernate 提供了一个稳定且...

    hibernate3.6.10 jar包

    这个“hibernate3.6.10 jar包”是Hibernate 3.6.10版本的库文件集合,包含了运行Hibernate应用程序所必需的类和资源。 在Hibernate 3.6.10版本中,有一些关键的知识点值得我们了解: 1. **实体管理**:Hibernate的...

    hibernate3.6.10中文api带注解

    在本资料中,“hibernate3.6.10中文api带注解”是针对Hibernate 3.6.10版本的API文档,特别的是,它是中文版的,这对于中文使用者来说,理解起来更加方便,避免了语言障碍带来的困扰。 在Hibernate 3.6.10中,主要...

    struts2.3.7-spring3.0.0-hibernate3.6.10 整合源码

    spring3.0.0-hibernate4.0.0时,发现spring3.0不支持hibernate4.0版本,后来自己整合了两套版本,一个是struts2.3.7-spring3.1.0-hibernate4.0.0,将spring升级,一个是struts2.3.7-spring3.0.0-hibernate3.6.10,将...

    Hibernate3.6.10所需jar包

    标题“Hibernate3.6.10所需jar包”表明我们将讨论的是关于Hibernate 3.6.10版本的运行环境,这个版本发布于2012年,对于初学者或需要维护旧项目的人来说仍然具有参考价值。Hibernate 3.6.10是一个稳定的版本,提供了...

    tom9 jdk10环境下struts2+hibernate3.6.10jar包.zip

    本压缩包“tom9 jdk10环境下struts2+hibernate3.6.10jar包.zip”提供了在Tomcat9服务器和JDK10环境下运行Struts2与Hibernate3.6.10所需的基础库文件。 Struts2是一款强大的MVC(Model-View-Controller)框架,用于...

    hibernate-3.6.10.Final.rar

    hibernate-3.6.10.Final.rar,用于Java开发中的Hibernate技术

    hibernate-3.6.10.Final-souce

    《深入剖析Hibernate 3.6.10.Final源代码》 Hibernate,作为一个开源的对象关系映射(ORM)框架,自发布以来就深受Java开发者喜爱。本文将详细探讨Hibernate 3.6.10.Final版本的源代码,揭示其内部机制,帮助读者更...

    hibernate3.6.10.chm

    hibernate3.6.10.chm 官网

    Hibernate3.6.10核心API

    Hibernate3.6.10核心编程接口API文档

    Hibernate.3.6.10帮助文档

    《Hibernate 3.6.10 帮助文档》是一个专门为开发者提供的关于Hibernate ORM框架的详尽指南,其以CHM(Compiled HTML Help)格式存在,便于离线查阅和快速搜索。Hibernate是一个广泛应用于Java环境中的对象关系映射...

    版本:struts-2.3.14+spring-2.5.6+hibernate3.6.10

    SSH2框架搭建所需jar包,版本:struts-2.3.14+spring-2.5.6+hibernate3.6.10

    hibernate-release-4.3.8.Final.part01

    hibernate-release-4.3.8.Final.part01

Global site tag (gtag.js) - Google Analytics