Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当为null时,camel bindy不映射第一列_Java_Csv_Apache Camel_Bindy - Fatal编程技术网

Java 当为null时,camel bindy不映射第一列

Java 当为null时,camel bindy不映射第一列,java,csv,apache-camel,bindy,Java,Csv,Apache Camel,Bindy,这与我的情况类似: @CsvRecord(separator = "\\t", skipFirstLine = true) public class Inventory { @DataField(pos = 1, required=false) private String vendor; @DataField(pos = 2, required=false) private String sku; @DataField(pos = 3, requi

这与我的情况类似:

@CsvRecord(separator = "\\t", skipFirstLine = true)
public class Inventory {

    @DataField(pos = 1, required=false)
    private String vendor;

    @DataField(pos = 2, required=false)
    private String sku;

    @DataField(pos = 3, required=false)
    private Integer stock;
}
如果第2列或第3列为空,则根本没有问题,这些字段只有一个空值(假设->是一个选项卡表示)

具有绑定结果,如

[{
    vendor: "Vendor1",
    sku: "123",
    stock: 5
},
{
    vendor: "Vendor1",
    sku: null,
    stock: 10
}]
到目前为止,还不错,但当第一列为null时,绑定器将第2列值(sku)分配给第1列绑定属性“vendor”,第3列值分配给第2列绑定属性(sku),绑定到第3列的实际属性保持为null:

VENDOR->SKU->STOCK
null->123->5
Vendor1->166->10
是这样做的:

[{
    vendor: "123",
    sku: "5",
    stock: null
},
{
    vendor: "Vendor1",
    sku: "166",
    stock: 10
}]
我知道我总是可以将其设置为“required=true”(这是在第一个位置上实现的),但如果第二个值不为null,它仍然不会失败,因为该值被分配给第一个值;另一方面,在我们的例子中,将列required设置为true不是一个好主意,因为一行缺少某些内容,整个文件被拒绝,所以我们的策略是手动验证那些对我们来说是必需的字段,这样我们就可以正确地记录它并处理所有列中更正的任何行

这是我对此库的依赖项:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-bindy</artifactId>
    <version>2.11.1</version>
</dependency>
我检查了CsvRecord注释和DataField注释中的所有属性,盲目地尝试了其中一些属性,希望能解决这个问题

有人知道为什么会这样吗?或者,如果这是一个在以后版本中解决的库问题?或者有什么建议我可以试试


当然,对于我能得到的任何帮助或回答,我都会提前表示感谢<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-bindy</artifactId> <version>2.11.1</version> </dependency>
camel-bindy-2.11.1.jar