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