小编JMD*_*D83的帖子

我可以有一个仅映射到表的某些列的实体吗?

我正在制作一个数据库迁移工具,并且正在处理一个非常笨拙的源数据库。它基本上是一张具有 40-50 列以上的巨型表格。然而,并非所有这些专栏对我都有用。我只想要大约十几个。获得该数据后,我将向 Web 服务发出请求,该服务将处理迁移目标端的所有内容。

我的选择基本上是手动创建查询以仅选择我想要的列,或者创建一个映射我想要的列的实体。我不太熟悉使用 JPA,所以我不确定这是否可能或可以。

我可以做类似的事情吗

@Entity
class SomeEntity{

    @Column(name = "ColumnA")
    private String columnA;
    @Column(name = "ColumnB")
    private String columnB;
}
Run Code Online (Sandbox Code Playgroud)

例如,如果数据库中的列是

Column A | Column B | Column C | Column D
Run Code Online (Sandbox Code Playgroud)

EclipseLink 会仅映射我注释的列,还是会抱怨尝试将数据库中的列映射到我的实体中不存在的字段?我知道 @Transient 会标记不应保留的字段。但我想做相反的事情,忽略数据库列,只将表部分映射到类。

java jpa entitymanager eclipselink jakarta-ee

6
推荐指数
1
解决办法
5135
查看次数

标签 统计

eclipselink ×1

entitymanager ×1

jakarta-ee ×1

java ×1

jpa ×1