实体类是JavaBean吗?

时间:2013-02-18 06:00:38

标签: java-ee jpa ejb entity javabeans

我是学习Java EE的新手,但很多概念让我感到困惑。我发现实体类看起来像JavaBean。

  1. 实体类是JavaBean吗? (请在这里解释一下)
  2. 实体类和JPA之间有什么关系? (我的理解:JPA是一个与实体类一起使用的技术/ API,它会持久保存数据库中的数据吗?)

1 个答案:

答案 0 :(得分:3)

严格来说,@Entity不是JavaBean(JavaBean约定需要公共的无参数构造函数,@Entity可以有保护等)但它们非常相似。 @Entity实际上是一个POJO(Plain Old Java Object)。您可以比较JavaBeans和Entity类的约定和要求:

  1. JavaBeans conventions
  2. Requirements for Entity classes
  3. 使用@Entity注释的类通常表示关系数据库中的表。您可以通过JPA使用它们对数据库执行insert / update / ..操作。一个例子:

    UserTransaction utx;
    EntityManager em;
    //initialization of entity manager..
    utx.begin();
     YourEntity entity = new YourEntity(); //your @Entity annotated class
     entity.setSomeParam(someValue);
     em.persist(entity);
    utx.commit();
    

    另见: