2010-02-03 6 views
1

일부 필드를 매핑하는 JPA 어노테이션이있는 추상 수퍼 클래스가 있습니다. 클래스 자체에는 @MappedSuperclass 주석이 있습니다.상속 된 Java 어노테이션을 특수화 할 수 있습니까?

전체 주석을 다시 지정하지 않고도 상속 된 주석의 한 요소 만 전문/추가 또는 변경할 수 있습니까?

+0

이렇게해야하는 경우 사용되는 특수 효과가 음표의 의도를 남용하는 것처럼 들립니다. 필자는 어노테이션을 사용하여 get/set 메소드의 속성에 메타 데이터를 추가하는 방법을 사용하여 주석 데이터를 숨기거나 변경하기 위해 메소드를 재정의해야했습니다. – vickirk

+1

죄송합니다, JPA 참조를 보았습니다. 나는 개인적으로 JPA annotions에서 설정을 할 수 있다고 생각하는 것이 악의이며, 시간을 절약 할 수 있다고 확신하지만 장기적으로 배포 악몽입니다. – vickirk

답변

1

특수 효과를 사용할 수있는 유일한 방법은 특수 효과에 특수 효과를 배치하고이를 상속의 형태로 이해하는 라이브러리가 있어야합니다.

전체 주석을 다시 지정하면 MappedSuperclass를 예상하는 라이브러리에서 무시하게됩니다.

+0

너무 나쁘다. 이것은 주석을 수정하는 것보다 다른 이유없이 거의 12 개의 하위 클래스를 만들어야 함을 의미합니다. 더 나쁜 것은, 대부분의 주석은 모든 하위 클래스에서 동일합니다! 나는 중복 된 코드보다 중복 된 주석을 싫어한다. – HDave

관련 문제