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