Я пытаюсь понять, как лучше всего реализовать полиморфный один-ко-многим в спящем режиме.
Например:
@MappedSuperclass
public class BaseEntity {
Integer id;
// etc...
}
@Entity
public class Author extends BaseEntity {}
@Entity
public class Post extends BaseEntity {}
@Entity
public class Comment extends BaseEntity {}
А теперь я хотел бы также сохранить информацию аудита со следующим классом:
@Entity
public class AuditEvent {
@ManyToOne // ?
BaseEntity entity;
}
Какое отображение подходит для auditEvent.entity
? Кроме того, как Hibernate действительно сохранится? Будет ли создан ряд таблиц соединения (AuditEvent_Author
, AuditEvent_Post
, AuditEvent_Comment
) или есть лучший способ?
Обратите внимание, я бы предпочел, чтобы мои другие классы сущностей не отображали другую сторону соединения (например, List<AuditEvent> events
на BaseEntity
) - но если это самый чистый способ реализации, то этого будет достаточно. 1017 *