有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如果修改ObjectDB实体类,使用旧类设置的数据库是否支持该实体类?

我的Java应用程序中使用了一个ObjectDB数据库,它只包含一种类型的类的加载,我们称之为Record

我希望我的程序是开放的/可扩展的,比如说有人修改了Record类,并添加了另一个字段/变量,如果程序试图在包含上一个类的数据库中存储这种新类型的对象,会发生什么?它就是不起作用吗?如果是这样,是否有可能修改所有现有记录,并将其默认值添加到新字段中(例如0)

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    ObjectDB实现了一种自动模式演化机制,该机制允许在模式更改后透明地使用旧实体对象。当旧模式的实体对象加载到内存中时,它会自动转换为最新实体类的实例。显然,您可以在模式更改后持久化修改的类的实例

    有关更多详细信息,请参阅ObjectDB手册中的this page