2017-10-28 92 views
0

我使用Resteasy和Hibernate在Java中创建REST服务。这个API应该支持现有数据库模式的较旧版本和较新版本。休眠 - 处理表的多个定义

在数据库的版本1.0我已经定义如下面的表:

enter image description here

在2.0版后来表被重命名,增加了两个新的列,列中的一个的长度增加。此表现在看起来像:

enter image description here

我打算创建两个单独的实体类和基于连接的数据库的版本使用相应的实体类。

我想知道这种方法是否可行。如果是这样,那么对于这种情况还有更好的方法。

+0

为什么你需要2个实体?为什么不能重写版本1的实体来匹配版本2中的表? –

+0

我不能这样做,因为版本2中的实体字段很少具有不同的字段长度,并且某些字段不能为空。这会对运行在版本1上的客户端造成问题。 –

回答

0

我最终创建了两个独立的实体类,并基于连接的数据库的版本,我使用相应的实体类。

仍然开放给任何更好的解决方案。