0
再次,根據a problem I had the other day發佈和回答他人的好處問題。希望這節省了一些時間。我有點驚訝,這並沒有納入JPA的EntityManager
。如何確定一個實體是否有名稱查詢
如何確定一個實體是否有一個具有特定名稱的NamedQuery
註釋?
我需要確定一個實體具有特定@NamedQuery
之前,我嘗試執行它。
再次,根據a problem I had the other day發佈和回答他人的好處問題。希望這節省了一些時間。我有點驚訝,這並沒有納入JPA的EntityManager
。如何確定一個實體是否有名稱查詢
如何確定一個實體是否有一個具有特定名稱的NamedQuery
註釋?
我需要確定一個實體具有特定@NamedQuery
之前,我嘗試執行它。
當註釋嵌套時,您可以獲取註釋的屬性以獲取它的子元素。在@NamedQueries
的情況下,它是.value()
。
public boolean hasNamedQuery(Class<?> clazz, String nameOfQuery) {
boolean foundQueryByName = false;
NamedQueries namedQueries = clazz.getAnnotation(NamedQueries.class);
if (namedQueries != null && namedQueries.value() != null) {
NamedQuery[] values = namedQueries.value();
for (int i = 0; i < values.length && !foundQueryByName; i++) {
foundQueryByName |= (nameOfQuery.equals(values[i].name()));
}
}
return foundQueryByName;
}