将数据库从应用程序中抽象出来
我有一个由多个 Java 应用程序访问的数据库。我想将数据库封装成远离应用程序,这样每当数据库模式发生更改时,需要在应用程序中完成的更改就变得微不足道。
哪种技术最适合实现这一点?
我能想到的一个解决方案是使用像 Hibernate 这样的 ORM 工具,但这是在应用程序中完成的,而不是在数据库中完成的。我希望数据库本身从应用程序中抽象出来。
I have a database that is accessed by several Java applications. I want to encapsulate the DB away from the applications, so that whenever there is a change in the DB schema, the changes that need to be done in the applications are trivial.
What kind of technology is best to implement this?
A solution I can think of is using an ORM tool like Hibernate but this is done at the application, not at the DB. I want the DB itself to be abstracted away from the applications.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一种可能的解决方案是在表之上添加一层视图。然后您可以确保该层保持对调用应用程序的兼容性。
对于仅读取数据的客户端来说,这很容易完成。
写入数据的客户端将需要另一种机制,例如存储过程。最后,目标是使用过程或视图在表之上创建一个可配置层。
One possible solution is to be a layer of views on top of your tables. Then you can make sure that this layer keeps compatibility for the calling applications.
This is easily done for clients that only read data.
Clients that write data will need another mechanism, stored procedure for examples. In the end, the goal is to create a configurable layer on top of the tables using either procedures or views.