Java坚持没有实体

时间:2015-07-13 12:22:04

标签: java java-ee persistence

我正在开发JavaEE应用程序,数据库中有近1000多个表,现在我必须通过客户端的参数查询记录。

通常我会为每个表创建一个实体,并创建Dao,Service来进行查询。

但是我遇到了两个问题:

1表格数

正如我所说的那样,每张表都有超过40列的1000+表,一个接一个地创建实体将是一场噩梦。

2方案更新

即使我可以通过程序创建实体,数据的架构可能会在某些时候发生变化,这是我无法控制的。

在我的应用程序中,只有读取操作与这些类型的数据相关,不需要更新,删除,创建。

所以我想知道以下解决方案是否可行:

1使用地图代替POJO

根本不要创建POJO,使用本机Map来包装列和值。

2行映射

使用Hibernate或Spring JdbcTemplate或其他方法查询时,使用映射器将每一行映射到地图中的条目。

如果是,我会使用ResultMetaData来检测列名,类型,值:

ResultMetaData rmd=rs.getMetaData();

for(int i=0;i<rmd.getColumnCount();i++){
    Type t=rmd.getType(i)
    if(t==....){
        ...
    }else if(t=...){
        ...
    }
}

看起来像是JPA工作的一部分,任何图书馆都可以在这里使用?

如果没有,还有其他选择吗?

0 个答案:

没有答案