Java数据库抽象语言

rpv*_*lao 6 java database

问题:我需要在我的应用程序上抽象我的数据库交互.事情是JPA对我不起作用,因为表/模式是动态的,我只是在运行时知道它们.我想过动态创建类,但我正在研究这种方法的性能问题,因为每次插入都会导致使用反射实例化类.我考虑过使用XML进行建模,但似乎也很慢并且有点难以管理.

我在找什么?我正在寻找一些我不需要映射到对象的中间层语言(类似于JPQL [Java持久性查询语言]).一些使用select子句抽象模式/目录和表创建以及查询的语言.

提前致谢.

jta*_*orn 3

我很确定 hibernate 有一个无对象模式,其中实体是使用映射来描述的。并且,如果您愿意,您可以在运行时设置一个休眠工厂。我相信这些功能的组合可以满足您的需求。

也就是说,我在上一份工作中使用过类似的系统。我们想要一个从数据层抽象出来的功能层。数据层本身并不是“动态的”,它只是在编译时不知道。我们最终构建了一个系统,该系统加载了一个定义数据库模式的配置文件,并可以针对该模式生成 sql。我们希望对生成的 sql 有相当高水平的控制,因此我们最终构建了自己的 sql 构建库,并将其开源为SqlBuilder。SqlBuilder 最适合使用内存数据库模式(我们从配置文件构建)生成查询。