`
suhuanzheng7784877
  • 浏览: 704369 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47751
社区版块
存档分类
最新评论

JavaEE5学习笔记08-JPA与EJB集成总结(2)

阅读更多

下面来看针对此实体操作的sessionBean代码。

接口

package jpa.eao;

  

@Remote

public interface IPersonEAO {

 

    public void save(Person entity);

    public void delete(Person entity);

    public Person update(Person entity);

    public Person findById(Integer id);

    public List<Person> findByProperty(String propertyName, Object value);

    public List<Person> findByName(Object name);

    public List<Person> findAll();

}

实现类

 

@Stateless

@TransactionManagement(TransactionManagementType.CONTAINER)

@TransactionAttribute(TransactionAttributeType.REQUIRED)

public class PersonEAO implements IPersonEAO {

    // property constants

    public static final String NAME = "name";

   

    /**

     * 容器资源注入的实体操作管理器

     */

    @PersistenceContext(unitName = "JavaEE4JbossPU")

    private EntityManager entityManager;

   

    /**

     * 增加记录

     */

    public void save(Person entity) {

       try {

           entityManager.persist(entity);

       } catch (RuntimeException re) {

           throw re;

       }

    }

   

    /**

     * 删除记录

     */

    public void delete(Person entity) {

       try {

           entity = entityManager.getReference(Person.class, entity.getId());

           entityManager.remove(entity);

       } catch (RuntimeException re) {

           throw re;

       }

    }

   

    /**

     * 更新记录

     */

    public Person update(Person entity) {

       try {

           Person result = entityManager.merge(entity);

           return result;

       } catch (RuntimeException re) {

           throw re;

       }

    }

   

    /**

     * 查询单独实体记录

     */

    public Person findById(Integer id) {

       try {

           Person instance = entityManager.find(Person.class, id);

           return instance;

       } catch (RuntimeException re) {

           throw re;

       }

    }

   

    /**

     * 按属性查找实体集合

     */

    @SuppressWarnings("unchecked")

    public List<Person> findByProperty(String propertyName, final Object value) {

       try {

           final String queryString = "select model from Person model where model."

                  + propertyName + "= :propertyValue";

           Query query = entityManager.createQuery(queryString);

           query.setParameter("propertyValue", value);

           return query.getResultList();

       } catch (RuntimeException re) {

           throw re;

       }

    }

   

    /**

     * name查找实体集合

     */

    public List<Person> findByName(Object name) {

       return findByProperty(NAME, name);

    }

   

    /**

     * 查询所有的实体记录

     */

    @SuppressWarnings("unchecked")

    public List<Person> findAll() {

       try {

           final String queryString = "select model from Person model";

           Query query = entityManager.createQuery(queryString);

           return query.getResultList();

       } catch (RuntimeException re) {

           throw re;

       }

    }

}

这个就是一个一般的会话Bean,里面是容器注入了实体管理器EntityManager,通过实体管理器对实体进行增删改查操作。

分享到:
评论

相关推荐

    JavaEE5学习笔记05-EJB之会话Bean总结

    ### JavaEE5学习笔记05-EJB之会话Bean总结 #### EJB(Enterprise JavaBeans)简介 EJB(Enterprise JavaBeans)是Java EE平台的一部分,用于开发和部署可重用的服务组件。EJB规范定义了如何编写、部署以及管理企业...

    JavaEE5学习笔记01-JTA和数据库事务

    ### JavaEE5学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...

    javaee思维导图版笔记-吉林大学

    "javaee思维导图版笔记-吉林大学" 本笔记主要涵盖了Java EE的基础知识,包括Servlet、JSP、JNDI、JPA等方面的内容。 一、Servlet概述 Servlet是Java EE中的一种服务器端组件,用于处理HTTP请求并返回响应。...

    javaEE学习笔记

    以上就是JavaEE学习笔记中可能涵盖的关键知识点,它们构成了JavaEE开发的基础,并且每个部分都有深入研究的价值。通过学习和实践这些技术,开发者能够构建出高效、稳定和可扩展的企业级Web应用。

    JavaEE5实战笔记04JSF的一些补充

    JSF的优点包括强大的MVC架构、内置的事件处理机制、丰富的UI组件库以及与EJB和JPA等JavaEE组件的紧密集成。然而,它的学习曲线相对较陡峭,配置相对复杂,尤其是早期版本。此外,尽管JSF提供了数据验证和转换功能,...

    JavaEE学习笔记

    ### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...

    JavaEE2017最新版基础班学习笔记

    本"JavaEE2017最新版基础班学习笔记"涵盖了JavaEE入门所需的基本概念和技术,是新手学习JavaEE的良好参考资料。以下将详细介绍其中可能涉及的关键知识点: 1. **Servlet与JSP**:Servlet是JavaEE中处理HTTP请求的...

    Java/JavaEE 学习笔记

    Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...

    Javaee课堂笔记精华总结就业必备

    这个"Javaee课堂笔记精华总结就业必备"显然是一份针对求职者或初入职场的开发者准备的学习材料,旨在帮助他们掌握JavaEE的核心概念和技术,以提升就业竞争力。 JavaEE平台包括一组服务、APIs和协议,用于构建分布式...

    达内javaSE,javaEE个人学习所有基础笔记

    "达内javaSE,javaEE个人学习所有基础笔记"是一个针对初学者的全面学习资源,涵盖了从Java Standard Edition (Java SE)的基础知识到Java Enterprise Edition (Java EE)的高级概念。 Java SE是Java的核心部分,它...

    JavaEE基础笔记.zip

    6. **JPA(Java Persistence API)**:JPA是JavaEE提供的ORM(Object-Relational Mapping)规范,简化了Java应用与数据库之间的对象关系映射,替代了传统的EJB实体Bean。 7. **JSF(JavaServer Faces)**:JSF是一...

    《IT学习资料3》-Java 学习笔记.zip

    "javaee"目录下的内容将引导你学习Servlet、JSP、JavaMail、JPA、EJB等技术,以及如何在实际项目中进行企业级应用的开发和部署。 【理论基础】 "理论基础"部分涵盖了计算机科学的基本概念,如数据结构、算法分析、...

    《IT学习资料2》-Java 学习笔记.zip

    《IT学习资料2》-Java 学习笔记.zip 是一份专为Java初学者和进阶者准备的综合学习资源,包含了大量的课程材料和实践指导。这个压缩包中的内容旨在帮助用户全面掌握Java编程语言,从基础语法到高级特性的运用,再到...

    北京圣思园java课堂笔记 (javaSE和javaee)

    【标题】:“北京圣思园java课堂笔记 (javaSE和javaee)” 提供了全面的Java学习资源,涵盖了从基础的Java Standard Edition (javaSE)到进阶的Java Enterprise Edition (javaEE)的相关知识。 【描述】:“北京圣思园...

    学习JavaEE的day26

    在JavaEE的环境中,这通常包括Servlet、JSP、EJB(Enterprise JavaBeans)、JPA(Java Persistence API)或者Spring框架的使用。这些代码可能是用来处理HTTP请求、渲染动态网页、管理数据库交互或者实现业务逻辑的。...

Global site tag (gtag.js) - Google Analytics