7.10. 将实体 Bean 迁移到 Jakarta Persistence


Java EE 8 中对 Enterprise Java Beans 实体 Bean 的支持是可选的,从 JBoss EAP 7 开始不支持它们。

在以前的 JBoss EAP 版本中,实体 Bean 通过扩展 javax.ejb.EntityBean 类和实施必要的方法,在应用源代码中创建。然后,在 ejb-jar.xml 文件中配置它们。CMP entity bean 由一个 <entity> 元素来指定,该元素包含值为 Container<persistence-type> 子元素。BMP entity bean 由一个 <entity> 元素来指定,其中包含一个 <persistence-type> 子元素,值为 Bean

从 JBoss EAP 7 开始,您必须将代码中的任何 CMP 和 BMP 实体 Bean 替换为 Jakarta Persistence 实体。Jakarta Persistence 实体使用 jakarta.persistence prerequisites 类创建,并在 persistence.xml 文件中定义。

以下是 Jakarta Persistence 实体类的示例:

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;

@Entity
// User is a keyword in some SQL dialects!
@Table(name = "MyUsers")
public class MyUser {
    @Id
    @GeneratedValue
    private Long id;

    @Column(unique = true)
    private String username;
    private String firstName;
    private String lastName;

    public Long getId() {
        return id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
Copy to Clipboard Toggle word wrap

以下是 persistence.xml 文件的示例。

<persistence xmlns="https://jakarta.ee/xml/ns/persistence"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence
          https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd"
        version="3.0">
  <persistence-unit name="my-unique-persistence-unit-name">
    <properties>
      // properties...
    </properties>
  </persistence-unit>
</persistence>
Copy to Clipboard Toggle word wrap

有关 Jakarta Persistence 实体的工作示例,请参阅 JBoss EAP 8.0 中包含的 cmt quickstart。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部