假设我假设为查询编写字符串构建器:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface SearchQuery {
}
和
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Search {
}
所以@Search
类有@SearchQuery
个返回字符串的方法:
@Search
public class Queries extends Query{
@SearchQuery
public String queryEverything(){
return "SELECT * FROM TABLE";
}
}
主要问题:
一个。我是否可以制作一类注释@Search
来强制至少存在@SearchQuery
的一种方法?
其他问题:
B中。是否可以强制@SearchQuery
的方法总是返回一个字符串?
℃。我将RetentionPolicy设置为Runtime,因为我想做一些反思,但仅限于测试:否则我的注释将为SOURCE
。尽管没有生产目的,可以将它保持为RUNTIME
吗?
我会对当前的设置进行任何改进,除了远离sql字符串之外,请分享其他任何内容,仅用于示例目的。