首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么axon框架不能在自己的表中插入?

为什么axon框架不能在自己的表中插入?
EN

Stack Overflow用户
提问于 2020-01-21 17:43:03
回答 2查看 454关注 0票数 0

我刚开始使用Axon-Framework,我非常喜欢它。所以我想把它集成到一个现有的项目中。但是当我尝试启动我的应用程序时,我得到了以下错误:

代码语言:javascript
复制
Fetch Segments for Processor 'my.package.name' failed: org.hibernate.exception.ConstraintViolationException: could not execute statement. Preparing for retry in 4s

ERROR: null value in column "_identifier_mapper_processor_name" violates not-null constraint
  Detail: Failing row contains (my.package.name, 0, null, null, null, 2020-01-21T09:32:28.189Z, null, null).

我确实理解违反了唯一约束,但是表是由axon框架管理的。我测试了一个新项目,并查看了数据库。并且表token_entry不包含_identifier_mapper_processor_name列。然后,我查看了旧项目的数据库,表中包含两个额外的列:_identifier_mapper_processor_name_identifier_mapper_segment

为什么axon框架的表有时包含这些附加列,有时又不包含?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-21 22:58:22

问题似乎是处于休眠状态。@IdClassTicket使用了ImplicitNamingStrategyComponentPathImpl命名策略(我的项目使用了它)。

axon框架对token_entry表使用@IdClass。这将导致上述错误。

票数 3
EN

Stack Overflow用户

发布于 2020-01-21 18:46:19

在Axon Framework GitHub页面上执行的任何搜索中都不会出现_identifier_mapper_processor_name_identifier_mapper_segment。因此,在当前的框架代码中没有,也没有在Axon存在的过去10年中的任何提交。

因此,我很难理解您一开始是如何同时使用这两篇专栏文章的。您是否介意分享您正在使用的Axon版本,以及您是否也在项目中添加了Axon框架扩展?

至于问题的解决,我假设在现有项目中创建token_entry表时会有一些东西被标记。就Axon和/或数据库修改而言,您在现有项目中所做的任何细节都将有助于推断此问题的根源。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59838176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档