当前位置: 首页 > 知识库问答 >
问题:

使用2个数据库时的Javers ENTITY_INSTANCE_WITH_NULL_ID

方季同
2023-03-14

共有1个答案

姜旭
2023-03-14

当您将一个对象提交给JaVers时,它以前的版本将从JaversRepository加载,并与当前版本(您刚刚传递给commit()方法的那个版本)进行比较。在本例中,JaVers使用globalid查询so TypeName+entity id查找以前的版本。这就是为什么实体的ID不能为空。

有两种可能:

>

  • 如果null ID在该类中是正常的(根据您的域模型),您应该将它映射为Javers中的ValueObject。
  • 如果您使用的是Hibernate,则存在延迟加载代理的常见问题。对于某些查询,Hibernate不会返回真正的域对象,而是返回本质上为空的动态代理对象(因此为空ID)。这种技术可能看起来很聪明,但在Hibernate初始化对象之前,它会成为垃圾。JaVers提供了HibernateUnProxyObjectAccesShake,它负责清理:初始化和取消域对象的代理。

  •  类似资料:
    • 连接数据库 {#dbc} 要连接到数据库首先要导入驱动程序。例如 import _ "github.com/go-sql-driver/mysql" 为了方便记住导入路径,GORM包装了一些驱动。 import _ "github.com/jinzhu/gorm/dialects/mysql" // import _ "github.com/jinzhu/gorm/dialects/postgre

    • 当我尝试在xml applicationContext中配置2个数据源时,我遇到了问题。xml。我发现reffer使用bean注释进行配置。我需要在我的实际架构中使用xml进行配置。 我看到教程: http://www.baeldung.com/spring-data-jpa-multiple-databases 和 https://docs.spring.io/spring-boot/docs/

    • 我不确定这是否可能,但我在安装Laravel时遇到了这种情况。 我正在运行3个实时数据库(随着时间的推移会更多),我有一个laravel安装,我想做的是使用不同的连接合并所有数据,并运行1个查询,以获得所有关系等所有数据使用雄辩。所有的数据库在表设计、索引、键等方面都是一样的,但我不确定是否可能! 我希望能够编写一个查询,例如:

    • 我有一个运行Spring MVC的应用程序。 我需要它访问我的应用程序中的2个不同的数据库(一个是PostgreSQL和另一个是MySQL数据库)。 问候。

    • "So do not worry about tomorrow, for tomorrow will bring worries of its own. Today's trouble is enought for today." (MATTHEW 7:34) MySQL数据库(2) 就数据库而言,连接之后就要对其操作。但是,目前名字叫作qiwsirtest的数据仅仅是空架子,没有什么可操作的,要

    • 问题内容: 我有一个运行Spring MVC的应用程序。 我需要它来访问我的应用程序中的2个不同的数据库(一个是PostgreSQL,另一个是MySQL数据库)。 如何仅使用批注或application.properties文件进行配置? 问题答案: 这是示例代码,希望对你有所帮助! application.properties DatabaseItemsConfig.java DatabaseU