Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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
有没有办法缩短Spring数据存储库方法的名称?_Spring_Annotations_Spring Data_Method Names - Fatal编程技术网

有没有办法缩短Spring数据存储库方法的名称?

有没有办法缩短Spring数据存储库方法的名称?,spring,annotations,spring-data,method-names,Spring,Annotations,Spring Data,Method Names,Spring数据存储库中的方法名称可能会变得非常长。例如: List<InstanceConfig> findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter( String appId, String clusterName, String namespaceName, Date validDate); 列出findByConf

Spring数据存储库中的方法名称可能会变得非常长。例如:

List<InstanceConfig> findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter(
      String appId, String clusterName,
      String namespaceName, Date validDate);
列出findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter(
字符串appId,字符串clusterName,
字符串名称空间名称,日期有效期);
我正在寻找任何允许我这样做的注释:

@XX(key = "findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter")
List<InstanceConfig> customMethodName(String appId, String clusterName,
      String namespaceName, Date validDate);
@XX(key=“findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter”)
列出customMethodName(字符串appId、字符串clusterName、,
字符串名称空间名称,日期有效期);

有没有解决名称长度问题的方法

使用java 8,您可以创建一个
默认方法
,并使用过长的名称调用该方法:

List<InstanceConfig> findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter(String appId, String clusterName,
      String namespaceName, Date validDate);

default List<InstanceConfig> customMethodName(String appId, String clusterName,
      String namespaceName, Date validDate) {
   return findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter(appId,clusterName,
     namespaceName, validDate);
}
列出FindByConfigAppId和ConfigClusterName以及ConfigNamespaceName和DataChangeLastModifiedTimeAfter(字符串appId、字符串clusterName、,
字符串名称空间名称,日期有效期);
默认列表customMethodName(字符串appId、字符串clusterName、,
字符串名称空间名称,日期有效期){
返回findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter(appId,clusterName,
名称空间名称(validDate);
}

然后,如果调用
customMethodName
与调用
findbyconfigappidandconfigclustername和configNamespacename以及datachangelastModifiedTimeAfter

一样,这是一个很好的解决方案。但是使用Java8特性,如果spring数据像我建议的那样提供特性,那么可能是更好的解决方案吗?无论如何,非常感谢!没有这样的特点。。。也许在将来,但我不这么认为,我认为这是不必要的…也许。但我认为,对于代码风格和存储库客户机来说,这并不是一种优雅。这只是我个人的意见-我不想使用@Query,因为不需要编写任何sql是spring数据的最大优势。Java8默认语法可以解决我的问题,但我认为这不是一个很好的解决方案。也许你可以添加你的注释作为你的问题与另一个不同的补充
:)
我很抱歉。这是我第一次问问题:-DNo担心
:)
。该问题现在已关闭,但您可以使用新信息进行编辑并尝试重新打开。