Как получить аннотации к переменной-члену?

Я хочу знать аннотации некоторых переменных-членов класса, я использую BeanInfo beanInfo = Интроспектор. getBeanInfo (User.class) , чтобы проанализировать класс, и использовать BeanInfo.getPropertyDescriptors () , чтобы найти конкретное свойство, и использовать Class type = propertyDescriptor.getPropertyType () для получить класс свойства.

Но я не знаю, как добавить аннотации к переменной-члену?

Я попробовал type.getAnnotations () и type.getDeclaredAnnotations ( ) , но оба возвращают аннотации класса, а не то, что я хочу. Например:

class User 
{
  @Id
  private Long id;

  @Column(name="ADDRESS_ID")
  private Address address;

  // getters , setters
}

@Entity
@Table(name = "Address")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
class Address 
{
  ...
}

Я хочу получить аннотацию адреса: @Column, а не аннотации класса Address (@Entity, @Table, @Cache). Как этого добиться? Спасибо.

56
задан Jost 13 March 2016 в 19:59
поделиться