Как настроить общий жизненный цикл сохраняемости c для операций CRUD в Hibernate - PullRequest
1 голос
/ 18 июня 2020

Мне нужно настроить операции CRUD спящего режима для выполнения некоторых дополнительных операций. Моя проблема в том, что у меня нет доступа для изменения реализации сущностей, и мне нужно сохранять дополнительные метаданные для этих сущностей. Например:

@Entity
class Entity1 {

    @Id
    private Long id;

    private String attr1;

}

@Entity
class Entity2 {

    @Id
    private Long id;

    private String attr1;

    private String attr2;
}

Entity1 и Entity2 сохраняются в своих собственных таблицах, это нормально, но мне нужно сохранить информацию метаданных, скажем, forced = [true|false], которая описывает, если заданный * Атрибут 1007 * был принудительным или нет. Эта информация будет применяться ко всей системе, это означает, что для всех сущностей с атрибутами String должна быть возможность идентифицировать это, их атрибуты String были принудительно или нет.

В моем случае я могу определить, какие экземпляры и атрибуты были принудительно или нет во время выполнения, эта информация легко доступна в случае, если я должен реализовать какой-либо прослушиватель или перехватчик обратного вызова. Моя идея состоит в том, чтобы сохранить эту информацию метаданных в отдельной таблице, скажем, FORCED_ATTRIBUTES, в которой есть три столбца (два для идентификации сущности и измененных атрибутов, а другой для определения, было ли изменено значение или нет).

Можно ли получить такую ​​функциональность без изменения этих сущностей (Entity1 и Entity2)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...