我正在为应用程序平台构建存储子系统。元模型将是动态的(在运行时可更改)。我有一个元模型来表示模型结构(包含具有属性,关系,层次结构等的伪类)。因为元模型是动态的,所以没有与元模型中的伪类相对应的Java类。
我知道Hibernate使用元模型在类和表之间进行映射,根据类模型生成查询并填充对象。我想知道Hibernate是否有办法为元类而不是类执行此操作,填充代理对象而不是具体的POJO。
基本上我想使用我的元模型来定义O / R映射而不是Java类。这可以用Hibernate吗?我已经开始在运行时使用CGLib和映射这些类来动态生成实际类的想法,但我希望有更好的方法。
我希望有一种方法可以使用像Hibernate Proxy这样的东西,只是没有子类化POJO,只是保留为“纯”代理。
思想?
答案 0 :(得分:1)
https://github.com/hibernate/hibernate-orm/tree/master/hibernate-core/src/test/java/org/hibernate/test/dynamicentity中的子文件夹代表了您可以实现此目标的3种方式。我会看一下tuplizer2方法。