有没有办法缩短Spring数据存储库方法的名称?
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
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担心:)
。该问题现在已关闭,但您可以使用新信息进行编辑并尝试重新打开。