MappedSuperclass
@MappedSuperclass
を使用して、共通プロパティを保持するbeanを作成します。例:
@MappedSuperclass
public abstract class BaseDomain {
@Id
long id;
@Version
long version;
@WhenCreated
Instant whenCreated;
@WhenCreated
Instant whenModified;
// plus getters and setters ...
}
その後、MappedSuperclass
beanを拡張するentity
beanを作成します。
@Entity
public class Customer extends BaseDomain {
String name;
@ManyToOne
Address billingAddress;
...
}