gpt4 book ai didi

java - JPA/Hibernate 将动态列映射为对象列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:02:18 24 4
gpt4 key购买 nike

我有一个现有的数据库模式,我正在尝试使用 JPA/Hibernate 注释对其进行 ORM。该模式旨在允许客户端将额外信息与表中的每一行相关联。而不是使用键值模式现有解决方案在安装时确定所需的动态列数,并将表更改为为动态字段添加额外的列。实际上,每个表都有一组已知/固定的列和一组动态列。

|table:X|
|id|known1|known2|dynamic1|dynamic2|..|dynamicx|

参数表指示哪些表具有额外的动态字段

|table:parameter|
|table|column|meta|
|x|dynamic1||
|x|dynamic2||
|x|dynamicx||
|y|dynamic15||

在 JPA 建模中,很容易为每个表上的已知固定列创建定义。

@Entity
@Table(name="x")
public class X
{
@Id
private Long id = null;

@Column(name="known1")
private Long known1 = null;
}

我计划将参数表建模为一个类,然后让我的每个类都有一个参数列表。我不确定应该如何映射此 List 对象,以便将详细信息写入同一个表。

@Entity
@Table(name="x")
public class X
{
// @Column(name="x",class="X") ??????????
List<Parameter> dynamicColumns = null;
}

我相信我可以使用自定义命名策略来正确确定动态字段的列名。这是甚至可能的映射类型?

最佳答案

我认为您需要使用 nativeQuery 来使用 jpa 获取此动态数据。

关于java - JPA/Hibernate 将动态列映射为对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3657758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com