问题:我需要抽象我的应用程序上的数据库交互。问题是JPA对我不起作用,因为表/模式是动态的,我只在运行时才知道它们。我想过动态创建类,但我正在考虑这种方法的性能问题,因为每次插入都会导致使用反射实例化类。我考虑过使用XML进行建模,但似乎也很慢,而且有点难以管理。
我要找的是什么?我正在寻找某种不需要映射到对象的中间层语言(比如JPQL Java Persistence Query Language)。一些抽象模式/目录和表创建以及使用select子句查询语言。
提前谢谢。
发布于 2011-03-22 01:00:28
我非常确定hibernate有一种无对象模式,其中实体是使用Map来描述的。而且,如果您愿意,可以在运行时设置hibernate工厂。我相信这些功能的组合可以满足您的需求。
也就是说,我在上一份工作中使用了一个类似的系统。我们想要一个从数据层抽象出来的功能层。数据层本身并不是“动态的”,只是在编译时是未知的。我们最终构建了一个系统,该系统加载了一个配置文件,该文件定义了db模式,并且可以根据该模式生成sql。我们想要对结果sql有一个相当高的控制级别,所以我们最终构建了我们自己的sql构建库,我们将其开源为SqlBuilder。SqlBuilder最适合使用内存中的db模式(我们从配置文件中构建)来生成查询。
https://stackoverflow.com/questions/5379749
复制相似问题