Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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 是否应该允许spring数据jdbc EntityRowMapper跳过不在源映射中的属性?_Java_Spring_Spring Data Jdbc - Fatal编程技术网

Java 是否应该允许spring数据jdbc EntityRowMapper跳过不在源映射中的属性?

Java 是否应该允许spring数据jdbc EntityRowMapper跳过不在源映射中的属性?,java,spring,spring-data-jdbc,Java,Spring,Spring Data Jdbc,我们正在考虑在现有项目中引入Spring数据JDBC,以尽量减少样板代码—但我们遇到了一个障碍: 我们有捕获表中所有列的bean类,但我们使用的查询不会检索所有列,因为某些值在特定上下文中并不需要。Spring数据JDBC的默认EntityRowMapper在源映射缺少bean中存在的属性时引发异常 是否有理由期望此默认值EntityRowMapper应该能够忽略这些属性?(指示在创建结果对象时跳过它们是可以的,或者有一个注释,允许程序员在源映射中缺少默认值时指定要使用的默认值)期望这样的结果合

我们正在考虑在现有项目中引入Spring数据JDBC,以尽量减少样板代码—但我们遇到了一个障碍: 我们有捕获表中所有列的bean类,但我们使用的查询不会检索所有列,因为某些值在特定上下文中并不需要。Spring数据JDBC的默认
EntityRowMapper
在源映射缺少bean中存在的属性时引发异常


是否有理由期望此默认值
EntityRowMapper
应该能够忽略这些属性?(指示在创建结果对象时跳过它们是可以的,或者有一个注释,允许程序员在源映射中缺少默认值时指定要使用的默认值)

期望这样的结果合理吗?当然,为什么不呢

目前不是这样的原因有两个:

  • 如果这是默认行为,则很容易选择名称错误的列,并在实体中以
    null
    值结束,而不会注意到出现了问题

  • 我认为它的风格不好。如果您只需要某些列/属性,请使用与这些列/属性完全相同的返回类型


    这可能更适合问题追踪器上的问题。@Jenschauder我考虑过这一点-但我希望调查得非常明智,首先,在制定一份更完整/正式的清单之前……至于(1),我可以看到类似于
    @列(“COL_NAME”,optionalOnRead=true)
    ,这样人们就必须明确地要求它。至于(2)-我认为您可能是对的,尽管我担心会有一些稍有不同的类,当多个查询只需要源表中稍有不同的数据子集时。