[英]Java Annotation Composition, re-using attributes
我想做這樣的事情:
@QueryHints(@QueryHint(name = "org.hibernate.fetchSize", value = FetchSize.value()))
@Target({ })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FetchSize {
String value();
}
不起作用的部分是value = FetchSize.value() 。 我想將@FetchSize的value屬性傳遞給目標注釋@QueryHint,以便我可以這樣注釋:
@FetchSize("1000")
類似的東西可能以某種方式,我將如何使它工作?
不,這樣的事情是不可能的。 注釋屬性的值必須是常量表達式(和/或其他一些類型,如enum
類型)。
你在這里嘗試做的是動態引用另一個注釋屬性的值。 那是不可能的。
如果您控制注釋處理器,那么您可以在那里執行該邏輯。 如果你不這樣做,那么你將不得不重新考慮你的設計。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.