JPA学习笔记

使用JPA前要在,http://mirror.optus.net/sourceforge/h/hi/hibernate/,下载在个包:

hibernate-distribution-3.3.1.GA-dist.zip

hibernate-entitymanager-3.4.0.GA.zip

hibernate-annotations-3.4.0.GA.zip

 

 

 

Sun 引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE 和Java SE 应用的对象持久化的开发工作;其二,Sun 希望整合对ORM技术,实现天下归一(即,实现各大ORM技术间的可移植)。

 

 

JPA 的配置文件

 

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

 

 

在一个Bean类的开头添加上@entity注释后,JPA就知道这个是需要持久化的了(即用于保存于数据库中)。

 

对于 @entity注释,因该使用Java标准库的那个,而不因使用Hibernate提供的那个,要不然就不能移植了。

 

 

 

@Test
    public void testJpaCreate(){
        /**
         * 根据JPA规范,Persistence类是作为启动JPA框架的入口点.(也就是进行JPA作操的一个入口类)
         *
         * 参数"jpatest",是一个持久化单元的名称。这个名称是在那里指定的呢?是在persistence.xml文件里,   <persistence-unit name="jpatest" transaction-type="RESOURCE_LOCAL">   里name属性指定的名称
         *
         * 执行"Persistence.createEntityManagerFactory("jpatest");"这段代码后,就可以启动JPA,如果说在persistence.xml文件里设置<property name="hibernate.hbm2ddl.auto" value="update"/>的值为"update"时,此时就会在数据库里创建表或更新数据库里的表
         *
         */
        Persistence.createEntityManagerFactory("jpatest");
    }

 

 

 

 

 

 

/**

   *  JPA的操作

   */

@Test

public void testJpaAdd(){

EntityManagerFactory factory = Persistence.createEntityManagerFactory("jpatest");

EntityManager em = factory.createEntityManager();

JpaJunitTest mi = new JpaJunitTest();

mi.setName("cmm");

em.getTransaction().begin();

em.persist(mi);

em.getTransaction().commit();

em.close();

factory.close();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值