我们正在使用 OpenCSV 解析 CSV 文件,并通过使用CsvToBean
class 将其值直接绑定到模型对象(OpenJPA 实体 bean)。
但是,问题是 - CSV 中有一些值(显然)被解析为Strings
,但应该在Date
属性中设置,所以基本上 CsvToBean 类在尝试动态调用写入方法时死掉(即,它尝试设置 Date 属性带有原始字符串值)。
OpenCSV 中是否有任何工具可以让我指定每列应该映射到哪种类型?如果没有,您有什么建议要扩展/重新实现什么类以促进这一点?检查目录下 OpenCSV 源代码分发中的其他可用策略/test/au/com/bytecode/opencsv/bean/
让我无法得出结论。
我想我可以摆弄Date
属性设置器并使其成为一个通用方法,它将类型作为参数传递,并尝试将传递的值解析为Date
如果它还没有Date
,但是....我们正在使用持久性带注释的实体,我不希望以后看到这个“setter-hack”让我们大吃一惊,因为 OpenJPA Enhancer 突然不喜欢泛型 setter。
我已经为此苦恼了几个小时——我本可以通过使用反射和编写自己的 bean 绑定逻辑来解决这个问题,但我讨厌重新发明轮子并有一种感觉/希望这可以可以在现有的 OpenCSV 框架内轻松完成。
如果需要,我可以发布一些代码,但真的没什么可看的。
有什么想法吗?谢谢。