Java 修改元模型';s架构以更改/重命名列名

Java 修改元模型';s架构以更改/重命名列名,java,apache-metamodel,Java,Apache Metamodel,我使用Apache元模型来获取模式信息。有一个用例,我需要为没有头的csv文件创建CsvDataContext对象。我在一个单独的数据结构中有列名(List colNames) 上下文对象给出的列名为“A”、“B”、“C”等。我猜metamodel为没有标题的表指定了一些默认列名 有没有办法修改CsvDataContext对象持有的模式 我相信UpdateableDataContext应该可以工作,但是文档中没有公开任何允许修改元数据(如列名)的方法 如何实现此方案?当您创建CsvDataCon

我使用Apache元模型来获取模式信息。有一个用例,我需要为没有头的csv文件创建
CsvDataContext
对象。我在一个单独的数据结构中有列名(
List colNames

上下文
对象给出的列名为
“A”、“B”、“C”等
。我猜metamodel为没有标题的表指定了一些默认列名

有没有办法修改
CsvDataContext
对象持有的模式

我相信
UpdateableDataContext
应该可以工作,但是文档中没有公开任何允许修改元数据(如列名)的方法


如何实现此方案?

当您创建
CsvDataContext
时,请指定
CsvConfiguration
csv配置
中的一个选项是提供一个
列命名策略
。默认策略实际上是使用字母字符、
A
B
C
等。但您可以使用自定义命名策略,如下所示:

ColumnNamingStrategy columnNamingStrategy =
    ColumnNamingStrategies.customNames("id", "foo", "bar", "baz");
CsvConfiguration configuration = new CsvConfiguration(
    0, columnNamingStrategy, "UTF-8", ',', '"', '\\', true, false);
return new CsvDataContext(file, configuration);