`
lycjt
  • 浏览: 32808 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hibernate JPA的使用

 
阅读更多
今天学习了Hibernate JPA ,也就是元注解吧,现在总结一下:
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">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

    <session-factory>
    <!-- 显示实际操作数据库时的SQL -->  
        <property name="show_sql">true</property> 
         <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> 
        <!--<property name="dialect">org.hibernate.dialect.OracleDialect</property>-->
        <property name="connection.url">jdbc:oracle:thin:@192.9.206.168:1521:orcl</property>
        <property name="connection.username">omsystem</property>
        <property name="connection.password">tj123456</property>
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="myeclipse.connection.profile">orcl</property>
        <!--<mapping resource="Struts2/Dao/TTestUser.hbm.xml"/>-->
        
        <!-- 实体类 -->
    	<mapping class="Struts2.Dao.d.TTestUser"/>
    </session-factory> 
</hibernate-configuration>


使用元注解就省去了TTestUser.hbm.xml这种文件的配置了,
只需要在JavaBean中加注解就可以了:
TTestUser.java 这个文件可以通过MyEclipse自动生成:
package Struts2.Dao.d;

import javax.persistence.Column;

/**
 * TTestUser entity. @author MyEclipse Persistence Tools
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "T_TEST_USER")
public class TTestUser implements java.io.Serializable {
	// Fields
	private String id;
	private String name;
	private String pwd;
	private String sex;
	// Constructors

	/** default constructor */
	public TTestUser() {
	}

	/** minimal constructor */
	public TTestUser(String id) {
		this.id = id;
	}

	/** full constructor */
	public TTestUser(String id, String name, String pwd, String sex) {
		this.id = id;
		this.name = name;
		this.pwd = pwd;
		this.sex = sex;
	}

	// Property accessors
	@Id
	@Column(name = "ID", unique = true, nullable = false, length = 20)
	public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@Column(name = "NAME", length = 30)
	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Column(name = "PWD", length = 30)
	public String getPwd() {
		return this.pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}

	@Column(name = "SEX", length = 20)
	public String getSex() {
		return this.sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

}


帮助类HibernateDao.java 文件:
package Struts2.Util;

import org.hibernate.HibernateException;

public class HibernateDao {
	protected SessionFactory sessionFactory;// 会话工厂,用于创建会话
	protected Session session;// hibernate会话
	protected Transaction transaction; // hiberante事务
	
	
	private static AnnotationConfiguration configuration = new AnnotationConfiguration();


	public HibernateDao() throws HibernateException {
		this.initHibernate();
	}

	// 帮助方法
	protected void initHibernate() throws HibernateException {

		// 装载配置,构造SessionFactory对象
		//sessionFactory = new Configuration().configure().buildSessionFactory();
		sessionFactory = configuration.configure().buildSessionFactory();
	}

	/**
	 *开始一个hibernate事务
	 */
	protected void beginTransaction() throws HibernateException {
		session = sessionFactory.openSession();
		transaction = session.beginTransaction();
	}

	/**
	 *结束一个hibernate事务。
	 */
	protected void endTransaction(boolean commit) throws HibernateException {

		if (commit) {
			transaction.commit();
		} else {
			// 如果是只读的操作,不需要commit这个事务。
			transaction.rollback();
		}
		session.close();
	}

}
这个文件主要注意的是 装载配置,构造SessionFactory对象//sessionFactory = new Configuration().configure().buildSessionFactory();
需要修改为
private static AnnotationConfiguration configuration = new AnnotationConfiguration();
sessionFactory = configuration.configure().buildSessionFactory();
最后开始测试吧:
package Struts2.Action;

import Struts2.Dao.d.TTestUser;
import Struts2.Server.TestUserService;

public class TestUserAction {
	public static void main(String[] args){
		TestUserService tu = new TestUserService();
		TTestUser tuser= new TTestUser();
		tuser.setId("3");
		tuser.setName("刘利明3");
		tuser.setPwd("1233");
		tuser.setSex("男3");
		tu.addUser(tuser);
	}

}



到这里就结束了,要导入AnnotationConfiguration 的jar包。
分享到:
评论
2 楼 dutianmin 2012-05-10  
你这不是JPA 最后抛出的借口还是hibernate
1 楼 ihopethatwell 2011-07-13  
是很清晰,我可以理解

相关推荐

    Hibernate JPA jar包

    - **数据访问对象(DAO)**:创建DAO层,使用Hibernate JPA提供的API进行数据操作,如`EntityManager`和`EntityManagerFactory`。 - **事务管理**:使用`@Transactional`注解进行事务控制,确保数据的一致性。 - *...

    Hibernate JPA

    Hibernate JPA作为一种成熟且广泛使用的ORM解决方案,不仅简化了Java应用程序中对象与关系型数据库之间的交互,还为开发者提供了强大的工具和灵活的配置选项。无论是初学者还是经验丰富的开发者,都能从中受益。了解...

    hibernate jpa 入门案例依赖jar

    在Java世界中,Hibernate和Java Persistence API (JPA) 是两个强大的对象关系映射(ORM)框架,它们简化了数据库操作,使得开发者可以使用面向对象的方式处理数据。本篇文章将深入探讨Hibernate JPA入门案例所需的...

    hibernate jpa开发需要的所有包

    在Java世界中,Hibernate JPA(Java Persistence API)是一种广泛使用的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库。本压缩包包含的文件是进行Hibernate JPA开发所需的核心库,让我们...

    springmvc spring hibernate jpa maven 整合

    在项目中,Spring与Hibernate或JPA的结合使用,使得数据操作变得简单,如保存用户数据到数据库。 Maven是项目管理和构建工具,它管理项目的依赖关系,自动化构建过程,包括编译、测试、打包和部署。在"ajie-wechat...

    hibernate-jpa-2.1-api-1.0.2.Final-API文档-中文版.zip

    赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...

    HibernateJPA+Struts2.0+MariaDB实现登录功能

    在IT行业中,构建一个完整的Web应用常常涉及到多个技术的整合,本示例中提到了"HibernateJPA+Struts2.0+MariaDB"的组合,这是一个经典的Java Web开发架构,用于实现用户登录功能。接下来,我们将深入探讨这些技术...

    hibernate_ jpa.jar

    本篇文章将深入探讨Hibernate JPA的核心概念、主要功能及使用方法。 一、Hibernate JPA基础 1. **实体(Entity)**:在Hibernate JPA中,实体是数据库表的映射,通过@Entity注解标识,每个实体类对应数据库中的一...

    Hibernate JPA 实例

    【描述】在IT领域,Hibernate是一个广泛使用的对象关系映射(ORM)框架,而Java Persistence API (JPA)是Java平台上的一个标准,用于管理和持久化Java应用程序中的对象。这个实例是关于如何在实际项目中结合使用...

    hibernate-jpa-2.1-api-1.0.2.Final-API文档-中英对照版.zip

    赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...

    hibernate-jpa.jar

    使用Hibernate JPA,开发者可以利用注解驱动的编程模型,减少代码量,同时通过ORM机制,使得业务逻辑和数据访问层更加分离,提高了代码的可读性和可维护性。然而,需要注意的是,虽然ORM工具带来了便利,但也可能...

    hibernate-jpa-2.0-api-1.0.1.Final-sources.jar

    hibernate-jpa-2.0-api-1.0.1.Final-sources.jar hibernate jpa 源代码

    JPA教程,包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注

    Hibernate JPA提供了JPA规范的全部功能,并且在JPA的基础上扩展了一些特性,如更强大的 Criteria 查询、HQL(Hibernate Query Language)等。Hibernate JPA因其灵活性和广泛社区支持而受到欢迎,尤其是在处理复杂...

    HIbernate Jpa 生成entities

    在Java开发中,Hibernate是一个广泛使用的对象关系映射(ORM)框架,而Java Persistence API (JPA) 是Java平台上的标准ORM规范。两者结合,可以让开发者轻松地将数据库表与Java类进行绑定,从而实现数据的CRUD操作。...

    hibernate-jpa-2.1-api-1.0.0.final-sources.jar

    hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码

    hibernate-jpa-2.1-api-1.0.0.final.jar.zip

    `hibernate-jpa-2.1-api-1.0.0.final.jar`是Hibernate对JPA 2.1规范的实现库,它使得开发者能够使用Hibernate的高效功能同时遵循JPA规范。 **1. Hibernate与JPA的关系** Hibernate最初作为一个独立的ORM框架,后来...

    在JavaSE下使用HibernateJPA所需的jar包

    在JavaSE环境中使用Hibernate JPA(Java Persistence API)进行数据持久化操作,需要引入一系列的jar包来构建...注意,虽然JavaSE环境下的JPA使用相对简单,但在没有容器支持的情况下,需要手动管理事务和依赖注入。

    spring 整合 hibernate jpa2 实例

    接下来,为了使用Hibernate作为JPA提供商,我们需要在项目的pom.xml文件中添加Hibernate和Spring Data JPA的依赖。Spring Data JPA是Spring的一个模块,它提供了对JPA的高级抽象,使得我们可以很容易地实现CRUD操作...

    SpringMVC +Hibernate JPA+Spring-data-jpa实例

    通过这个实例,你可以学习到如何将SpringMVC、Hibernate JPA和Spring Data JPA结合使用,构建一个完整的Web应用,包括数据库的访问、业务逻辑的处理以及Web接口的实现。这样的组合既提供了高效的ORM支持,又利用了...

Global site tag (gtag.js) - Google Analytics