是否有任何anotation使Spring数据存储库方法名称更短?

时间:2016-08-26 09:53:15

标签: spring annotations spring-data method-names

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

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

我正在寻找允许我做这样的事情的任何注释:

@XX(key = "findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter")
List<InstanceConfig> customMethodName(String appId, String clusterName,
      String namespaceName, Date validDate);

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

1 个答案:

答案 0 :(得分:1)

使用java 8,您可以创建default method并使用太长的名称调用该方法:

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);
}

然后,如果您拨打customMethodName就像打电话findByConfigAppIdAndConfigClusterNameAndConfigNamespaceNameAndDataChangeLastModifiedTimeAfter一样。