Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee 实体类是JavaBean吗?_Jakarta Ee_Jpa_Ejb_Entity_Javabeans - Fatal编程技术网

Jakarta ee 实体类是JavaBean吗?

Jakarta ee 实体类是JavaBean吗?,jakarta-ee,jpa,ejb,entity,javabeans,Jakarta Ee,Jpa,Ejb,Entity,Javabeans,我是学习JavaEE的新手,仍然有很多概念让我困惑。我发现一个实体类看起来像JavaBean 实体类是JavaBean吗?(请在这里解释一下) 实体类和JPA之间的关系是什么?(我的理解是:JPA技术/API是否与实体类一起使用,用于持久化数据库中的数据?) 严格地说,@Entity不是JavaBean(JavaBean约定需要一个公共的无参数构造函数,@Entity可以有protected等),但它们非常相似@Entity实际上是一个POJO(普通的旧Java对象)。您可以比较JavaBean

我是学习JavaEE的新手,仍然有很多概念让我困惑。我发现一个实体类看起来像JavaBean

  • 实体类是JavaBean吗?(请在这里解释一下)
  • 实体类和JPA之间的关系是什么?(我的理解是:JPA技术/API是否与实体类一起使用,用于持久化数据库中的数据?)

  • 严格地说,
    @Entity
    不是JavaBean(JavaBean约定需要一个公共的无参数构造函数,
    @Entity
    可以有protected等),但它们非常相似
    @Entity
    实际上是一个POJO(普通的旧Java对象)。您可以比较JavaBeans和实体类的约定和要求:

  • @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();
    
    另见:


    1。是否意味着JavaBeans和实体类之间的唯一区别是“构造函数”?2.JPA在实体类中用于持久化数据/与DB交互?@KurtX我已经更新了答案。JPA是一个API,即它提供了一组处理DB的接口。实体类是交互的主要单元,是对象关系映射的基础。这意味着-更改实体类的属性并调用
    merge
    persist
    和其他方法将导致数据库中的更改。