Я создаю подсистему хранения для платформы приложений. Метамодель будет динамической (изменяемой во время выполнения). У меня есть метамодель для представления структуры модели (в комплекте с псевдоклассами со свойствами, отношениями, иерархией и т. д.). Поскольку метамодель является динамической, в метамодели нет классов Java, соответствующих псевдоклассам.
Я знаю, что Hibernate использует метамодель для сопоставления классов и таблиц, генерации запросов на основе модели классов и заполнения объектов. Мне интересно, есть ли способ для Hibernate сделать это для метаклассов вместо классов, заполняя прокси-объекты вместо конкретных POJO.
По сути, я хочу использовать свою метамодель для определения отображения O/R вместо классов Java. Это выполнимо с Hibernate? Я обдумывал идею динамической генерации реальных классов во время выполнения с помощью чего-то вроде CGLib и их сопоставления, но я надеюсь, что есть способ получше.
Я надеюсь, что есть способ использовать для этого что-то вроде Hibernate Proxy, только не создавая подклассы POJO, просто оставаясь «чистым» прокси.
Мысли?