所需要的最小的jar包(注意:jar包所在路径不能含有空格或中文)

hibernate3.jar
hibernate-cglib-repack-2.1_3.jar
slf4j-api-1.5.2.jar
javassist-3.4.GA.jar
jta-1.1.jar
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-entitymanager.jar
log4j.jar
slf4j-log4j12.jar

创建实例类

package com.hujuan.bean;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;@Entity
//默认情况下表名称是根据实体类名称创建的,name可以修改表名称
@Table(name="person_table")
public class Person {private Integer id;private String userName;public Person(){}public Person(String userName) {this.userName = userName;}//主键生成策略@GeneratedValue(strategy=GenerationType.AUTO),//值为AUTO表示根据数据库由Hibernate自动选择生成策略,也可以省略写@GeneratedValue//值为IDENTITY表示主键自增长//值为SEQUENCE表示主键采用序列的方式//值为TABLE各个数据库都通用,但效率较低
    @Id  @GeneratedValuepublic Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}
}

注意:因为采用的是Hibernate所以必须有一个空的构造函数

JPA的配置文件

JPA规范要求配置文件在类路径的META-INF目录下放置名称为固定的的,即persistence.xml

<persistence xmlns="http://java.sun.com/xml/ns/persistence"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/persistence      http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"version="1.0"><!-- 持久化单元,transaction-type事务类型包括全局事务类型JTA和本地事务类型 RESOURCE_LOCAL--><persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL"><properties><!-- 数据库方言 --><property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>    <!-- 建表方式,value值为creat-drop时表示创建应用的时候建表,结束应用的时候表自动删除;值为update表示如果映射元数据不存在则建立表,如果映射元数据存在并新增加了字段则会添加到数据库表中 --><property name="hibernate.hbm2ddl.auto" value="update"/><property name="hibernate.connection.driver_class" value="org.gjt.mm.mysql.Driver"/><property name="hibernate.connection.username" value="root"/><property name="hibernate.connection.password" value="root"/><property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpadb"/>      </properties></persistence-unit>
</persistence>

测试类

package com.hujuan.test;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.junit.BeforeClass;
import org.junit.Test;
import com.hujuan.bean.Person;
public class PersonTest {@BeforeClasspublic static void setUpBeforeClass() throws Exception {}@Testpublic void save(){
//EntityManagerFactory相当于Hibernate中的sessionFactory
//Persistence.createEntityManagerFactory("jpa")与配置文件中的持久化单元名称必须相同EntityManagerFactory factory = Persistence.createEntityManagerFactory("jpa");
//EntityManager相当于Hibernate中sessionEntityManager em = factory.createEntityManager();em.getTransaction().begin();//保存(持久化)方法em.persist(new Person("Tom"));em.getTransaction().commit();em.close();factory.close();}
}

转载于:https://www.cnblogs.com/lhj588/p/3269867.html

JPA+Hibernate 3.3 ——第一个JPA程序相关推荐

  1. jpa级联添加_请教一个JPA多对多级联保存的问题

    实体类 // 标签类 @Entity public class Label { @Id @Column(name = "lid",unique = true,nullable = ...

  2. JPA+Hibernate中常用的注解

    JPA+Hibernate中常用的注解 JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体[对 ...

  3. hibernate jpa_JPAHibernate替代方案。 如果JPA或Hibernate对于我的项目而言不够好,该怎么办?...

    hibernate jpa 你好!你好吗? 今天我们将讨论不建议使用JPA / Hibernate的情况. 在JPA领域之外,我们还有哪些选择? 我们将谈论的是: JPA /Hibernate问题 解 ...

  4. jpa jsf_完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第1部分

    jpa jsf 我们创建了这篇文章,将展示如何使用以下工具创建完整的Web应用程序:Tomcat7,带有Primefaces的JSF2(Facelets和Libraries)(具有AutoComple ...

  5. jpa jsf_完整Web应用程序Tomcat JSF Primefaces JPA Hibernate –第2部分

    jpa jsf 托管豆 这篇文章是本教程第1部分的继续. 在" com.mb"包中,您将需要创建以下类: package com.mb;import org.primefaces. ...

  6. jpa jsf_完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第3部分

    jpa jsf Primefaces AutoComplete,JSF转换器 这篇文章从第一部分和第二部分继续. JSF拥有Converter工具,可以帮助我们从用户视图中获取一些数据并将其转换为从数 ...

  7. 完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第1部分

    我们创建了这篇文章,将展示如何使用以下工具创建完整的Web应用程序:Tomcat7,带有Primefaces的JSF2(Facelets和Libraries)(具有AutoComplete),JPA ...

  8. 完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第2部分

    托管豆 这篇文章是本教程第1部分的继续. 在" com.mb"包中,您将需要创建以下类: package com.mb;import org.primefaces.context. ...

  9. 完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第3部分

    Primefaces AutoComplete,JSF转换器 这篇文章从第一部分和第二部分继续. JSF拥有Converter工具,可以帮助我们从用户视图中获取一些数据并将其转换为从数据库或缓存中加载 ...

最新文章

  1. Node.js模块系统
  2. Python descriptor
  3. CXF 调用 .net webservice
  4. 有关数据结构基础知识(数据结构 严蔚敏版)
  5. 2.1.1进程的概念 组成和特征
  6. 网站服务器安全维护,网站服务器安全维护
  7. java jar命令_Java命令行之jar命令
  8. html表单的课后心得体会,web前端学习心得体会范文
  9. Window 远程连接 Ubuntu 系统
  10. Androidstudio加载工程很慢解决方案
  11. Echarts+Vue地图
  12. 《每日一荐月刊》2019-11
  13. jwplayer html插件,Typecho视频播放器插件JWPlayer
  14. 百度云apkg手机文件怎么打开_30秒教你找回vivo手机误删文件,要是你不会的话,那也太可惜了吧...
  15. 占鳌头。当雪花沁透着
  16. 打开.sql文件的方法
  17. 分布式数据一致性的探讨
  18. 最短路:求最长最短路,求最短路的路径
  19. Foxmail邮件数据如何迁移
  20. c语言两位数码管程序,单片机制作—两位数码管显示 c语言 汇编程序+电路图

热门文章

  1. 软件工程师的技能知识图谱0.1(偏后台方向)
  2. Unity3D之NGUI基础7:UI动态加载
  3. bzoj 1113: [Poi2008]海报PLA(栈)
  4. bzoj 1634: [Usaco2007 Jan]Protecting the Flowers 护花(贪心排序)
  5. matlab boundaries和fchcode函数无法执行的解决办法 未定义与 'double' 类型的输入参数相对应的函数 'boundaries'
  6. ubuntu安装opencv的c++开发环境
  7. jQuery Mobile中对话框dialog的data-*选项
  8. 确定填充介质的矩形波导单模传输TE10波的工作频率
  9. mysql不同服务器查询_实战操作SQL Server连接查询不同服务器表数据
  10. jmeter配置元件之计数器