gpt4 book ai didi

java - 处理表行数据结构的最佳模式是什么?

转载 作者:行者123 更新时间:2023-12-02 00:54:03 24 4
gpt4 key购买 nike

事实

我有以下数据结构,由一个表和一个属性列表(简化)组成:

class Table {
List<Attribute> m_attributes;
}

abstract class Attribute {}

class LongAttribute extends Attribute {}
class StringAttribute extends Attribute {}
class DateAttribute extends Attribute {}
...

现在我想用这个数据结构执行不同的操作:

  • 以 XML 表示法打印
  • 以文本形式打印
  • 创建 SQL 插入语句
  • 创建 SQL 更新语句
  • 从 SQL 结果集初始化它

第一次尝试

我的第一次尝试是将所有这些功能放入 Attribute 中,但随后 Attribute 因非常不同的职责而过载。

替代方案

感觉就像 visitor pattern本来可以很好地完成这项工作,但另一方面,对于这个简单的结构来说,它看起来有点矫枉过正。

问题

解决这个问题最优雅的方法是什么?

最佳答案

我会考虑使用 JAXB 的组合和 Hibernate

JAXB 将允许您对 XML 进行编码和解码。默认情况下,属性将转换为与属性同名的元素,但这可以通过 @XmlElement 和 @XmlAttribute 注释进行控制。

Hibernate(或 JPA)是将数据对象移入和移出数据库的标准方法。

关于java - 处理表行数据结构的最佳模式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1706165/

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