2014-06-26 2 views
0

мне нужно проверить, если Entity имеет некоторые специфические аннотаций (@ElementCollection и @JoinColumn)Сравнение аннотациями JPA

for(Annotation annotation : field.getAnnotations()) 
{ 
if (annotation.equals("@ElementCollection") || annotation.equals("@JoinColumn")) 
    //do something 
} 
} 

Но как я могу проверить, если есть @JoinColumn, если это что-то вроде этого? (А @JoinColumn "внутри" @CollectionTable)

@ElementCollection 
@CollectionTable(name = "ALARM_PLAN_IDS", joinColumns = { 
     @JoinColumn(name = "ALARM_ID", referencedColumnName = "INST_ID"), 
     @JoinColumn(name = "ALARM_ID_AK", referencedColumnName = "INST_ID_AK") }) 
protected Set<InstanceId> allPlanIdsInExistence; 

Благодаря

ответ

0

Использование отражения на annotation объекта (например getDeclaredMethods). Это покажет геттеры для под-объектов. Из этого вы можете делать все, что вам нужно.

Смежные вопросы