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

标签 java objectdb

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

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

提前致谢!

最佳答案

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

参见 this page在 ObjectDB 手册中了解更多详细信息。

关于java - 如果您修改 ObjectDB 实体类,使用旧类设置的数据库是否支持它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22264925/

相关文章:

java - 如何使用 JDO 中的对象列表更新对象

java - 对象数据库关系

java - SQL语句插入时出错

java - 使用存储在 objectdb 文件中的对象,而无需其类定义

java - 我的代码是插入排序的正确实现吗?

java - 将标题设置为 FPS libgdx java

java - persistence.xml 中的两个持久性单元 - 一个有效,另一个无效

java - 在objectdb中查询

java - JAXB 更改默认命名转换器

java - Spring Boot @Scheduled 具有不同的配置文件