我在我的 Java 应用程序中使用了一个 ObjectDB 数据库,它只包含一种类型的类的负载,我们称之为 Record。
我希望我的程序是开放的/可扩展的,所以说有人修改了 Record 类,并添加了另一个字段/变量,如果程序尝试将这种新类型的对象存储在包含前一个类的数据库中会发生什么?它只是不起作用吗?如果是这样,有没有办法可以修改所有现有的记录,只需将它们的默认值添加到新字段中(例如 0)。
提前致谢!
ObjectDB 实现了一种自动模式演化机制,可以在模式更改后透明地使用旧实体对象。当旧模式的实体对象加载到内存中时,它会自动转换为最新实体类的实例。显然,您可以在架构更改后保留修改后的类的实例。
有关更多详细信息,请参阅ObjectDB 手册中的此页面。