20 лет на других языках программирования, и теперь я новичок в Java, чувствую себя программистом-новичком ...
Я использую Indexable
абстрактный класс для расширения всех своих@entity
классов, поэтому мне не нужно ставить @Id @GeneratedValue @SequenceGenerator
на все из них.И у меня также есть Auditable
с @CreatedBy @CreatedDate @ModifiedBy @ModifiedDate
, который ведет к следующему пути наследования:
- MostEntityClasses> AuditableClass> IndexableClass;
- SomeEntityClasses> IndexableClass.
Теперь я заметил, что 99% моих классов сущностей также имеют:
@Column(nullable = false, unique = true) private String name;
Я думал о переносе этой строки в класс Indexable
, чтобы избежать этого стандартного кода в этих 99%, но два классакоторые не имеют поля name , являются важными аудируемыми классами, и я не хочу просто копировать в них все поля-предки, чтобы избежать ошибок с нулевыми именами.
Вопрос: если я переопределю аннотации этого поля в этих двух классах, чтобы сделать его обнуляемым и переходным, будет ли он работать, чтобы избежать создания этого поля в таблице, а также не мешать пользователюпустые имена?
class SomeAuditableClass extends Audited {
//@override
@Column(nullable = true) @Transient private String name;
Содержимое в Есть ли способ переопределить переменные класса в Java? мало помогло ...