首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

jpa容易运用

2012-10-11 
jpa简单运用仅提供测试对应的case代码,至于实体对象的annotation注解可以自行搜索。@Test public void simp

jpa简单运用

仅提供测试对应的case代码,至于实体对象的annotation注解可以自行搜索。

@Test public void simple(){//创建sessionFactoryEntityManagerFactory factory = Persistence.createEntityManagerFactory("配置中对应的名称");//创建实体管理对象EntityManager em = factory.createEntityManager();//开启事务em.getTransaction().begin();//保存数据em.persist("实体对象");//更新数据em.merge("实体对象");//删除数据em.remove("实体对象");//查找数据//方法一Person person1 = (Person)em.find(Person.class, new Person().getId());//方法二:返回的是代理对象,也就说实现了延迟加载Person person2 = (Person)em.getReference(Person.class, new Person().getId());//提交事务em.getTransaction().commit();//关闭事务em.close();//关闭sessionFactoryfactory.close();}@Test public void update(){EntityManagerFactory factory = Persistence.createEntityManagerFactory("");EntityManager em = factory.createEntityManager();em.getTransaction().begin();Person person = em.find(Person.class, 1);//将实体状态变为游离状态em.clear();person.setName("");//将游离状态变为托管状态em.merge(person);em.getTransaction().commit();em.close();factory.close();}@Test public void query(){EntityManagerFactory factory = Persistence.createEntityManagerFactory("");EntityManager em = factory.createEntityManager();//索引参数查询Query query = em.createQuery("select p from Person p where p.name=?1");query.setParameter(1, "yoyi");//位置参数查询Query query1 = em.createQuery("select p from Person p where p.name:name");query1.setParameter("name", "yoyi");List<Person> ls = query.getResultList();Person person = (Person)query.getSingleResult();}

?

热点排行