Я хочу знать аннотации некоторых переменных-членов класса, я использую 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). Как этого добиться? Спасибо.