我是学习 Java EE 的新手,仍然有很多概念让我困惑。我发现一个实体类看起来像一个JavaBean。
- 实体类是JavaBean吗? (请在这里解释一下)
- 实体类和 JPA 之间有什么关系? (我的理解:JPA 是一种与实体类一起使用的技术/API,它保存数据库中的数据吗?)
最佳答案
严格来说,@Entity
不是一个 JavaBean(JavaBean 约定需要一个公共(public)的无参数构造函数,@Entity
可以有 protected 等),但它们非常相似的。 @Entity
实际上是一个 POJO(Plain Old Java Object)。您可以比较 JavaBean 和实体类的约定和要求:
用@Entity
注释的类通常代表关系数据库中的表。您可以通过 JPA 使用它们对数据库执行插入/更新/.. 操作。一个例子:
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();
另请参阅:
关于jakarta-ee - 实体类是一个JavaBean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14930352/