gpt4 book ai didi

java - 将通用 java 类型保存/加载到 postgresql 数据库列

转载 作者:行者123 更新时间:2023-11-29 12:22:46 25 4
gpt4 key购买 nike

我正在尝试为我的 Java 应用程序实现一些简单的审计功能。这是我的审计类的片段:

public class Audit<C, T> {
public final Class<C> modifiedClass;
public final Date modificationTime;
public final MyFieldMeta<C, T> fieldMeta; //contains Class<T>
public final T newValue;

//constructor, etc...
}

当谈到持久化这些审计对象时,我宁愿只用一张表来存储所有种类,而不管 T 是什么。我正在使用 postresql,我想知道将 newValue 保存到列,然后再将其取回的最佳方法是什么。

newValue 仅限于具有 postgresql 等效项的相当简单的类型 - StringIntegerDate 等。因此,将值作为 text 并将类型作为 varchar 存储在单独的列中,然后将它们映射回 java 中不会太难。有更巧妙的方法吗?

最佳答案

一旦您“扁平化”了数据库中的数据类型,您将依赖逻辑将其转换回来,这可能会导致问题。考虑值:11.12

那是章节编号中的文本 11.12 吗? 11.12 是货币值(value)吗?是 12 月 11 日吗?

除非你能保证一个值总是可以明确地映射到一个类型,否则唯一的其他方法是向字段添加一个额外的类型标记,然后你必须解析它,例如:s11 .12 表示“值为 11.12 的字符串”。

关于java - 将通用 java 类型保存/加载到 postgresql 数据库列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5946110/

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