簡體   English   中英

Java Annotation組合,重用屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM