java - 如何将具有一长串通用列的表映射到 JPA 实体

标签 java mysql hibernate jpa

考虑这个用例: 一个 mysql 表 X 和一个 java JPA enty X。

create table X 
(id int(11),
 name varchar(200),
 value1 bigint(16),
 value2 bigint(16),
 value3 bigint(16),
 .
 .
 value100 bigint(16));

我想映射到这样的实体:

@Entity("x")
@Table("x")
public class X {

@Id
@Column("id)
public int getId ...

@Column("name")
public String getName ..

@SomeMagicalExpression
public List<Long> getValues()..
}

我很清楚创建一个连接表的选项,其中每个值都是一行,我试图摆脱执行连接。 我真的不想创建 100 个 getter 和 setter。

最佳答案

有点盲目,但也许 OpenJPA @Columns 注释会满足您的需求..

http://docs.oracle.com/html/E24396_01/ref_guide_mapping_custom.html#ref_guide_mapping_custom_field_conf_extex

不确定是否可以使用它将多个列映射到一个集合。也许是 ArrayList 的子类并重写其构造函数以接受多个值来填充列表。 (如果我关于 @Columns 中使用的值必须对应于构造函数的假设是正确的......)

关于java - 如何将具有一长串通用列的表映射到 JPA 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13613878/

相关文章:

java - 比较使用 selenium webdriver 和 java 的网站

php - $mysqli-insert_id 没有正确递增

mysql - 将 mysql 查询的输出发送到 csv 文件时出错

java - 如何在play框架中使用Jpa?

java - 将元素放置在给定的 `row` 和 `col` 位置

java - 需要 mysql 的 hibernate 属性

java - 将我的对象存储库保留在 Selenium 自动化测试框架中的最佳方法是什么

mysql - 如何在数据库中存储非常旧的日期?

java - 如何在 java SE 应用程序中使用 JPA EntityManager

java - 插入具有单向多对多关系的新实体生成级联持久而不是级联合并