如何查看 Axon 数据库中可用的字段?
How to see what fields are available in Axon databases?
这里是 Axon 的全新内容。
我在 Kotlin 中定义了一个 class:
data class ProjectedQuote(
@Id var submissionId: String,
var periodId: String,
var accountNumber: String
)
它由事件处理程序实例化和更新,然后返回以响应查询。
我需要创建一个通过 accountNumber
而不是 id
查找 ProjectedQuote 实例的查询。我不知道该怎么做。
迄今为止,我只做过如下查询:
SELECT q FROM ProjectedQuote q WHERE q.id LIKE CONCAT(:idStartsWith, '%') ORDER BY q.id
我的狭义问题是:
如何使用 accountNumber
而不是 id
编写查找 ProjectedQuote 的查询?
我的更广泛的问题是:
如何查看 Axon 数据库中哪些字段可用于查询?
查询消息通常从事件侦听器创建的视图模型中读取数据。事件侦听器通常根据命令模型做出的决定来执行逻辑。通常,这涉及更新视图模型或将更新转发给其他组件。
因此创建和接收视图的机制完全取决于您。 (jpa, spring data, mybatis, jdbc etc.) axon项目的一个很好的例子是https://github.com/idugalic/digital-restaurant
Sergey 在这里指出的内容也非常有道理。
如何在此类应用程序中对查询模型建模完全取决于您。所以选择 JPA、JDBC、MongoDB、ElasticSearch、Neo4j..无论哪种包含查询模型套件的格式最适合您!
因此,这种存储机制的自由也指出您的查询模型未存储在 'Axon Database' 中;它存储在您选择的数据库中。
关于如何为您的查询建模,您可以查看 QueryMessages
和 QueryHandlers
如何在 Axon 中使用,而不是 here。从 Axon 的角度来看,这只是另一种专用消息类型,就像 Command- 和 EventMessages 一样。
使用查询消息,您可以将要执行的查询类型指定为单独的对象,是查询。
该查询将依次由 @QueryHandler
注释函数处理。
@QueryHandler
注释函数将依次执行实际操作,从您选择用于存储模型的数据库中检索模型。
希望这能给你一些见解!
这里是 Axon 的全新内容。
我在 Kotlin 中定义了一个 class:
data class ProjectedQuote(
@Id var submissionId: String,
var periodId: String,
var accountNumber: String
)
它由事件处理程序实例化和更新,然后返回以响应查询。
我需要创建一个通过 accountNumber
而不是 id
查找 ProjectedQuote 实例的查询。我不知道该怎么做。
迄今为止,我只做过如下查询:
SELECT q FROM ProjectedQuote q WHERE q.id LIKE CONCAT(:idStartsWith, '%') ORDER BY q.id
我的狭义问题是:
如何使用 accountNumber
而不是 id
编写查找 ProjectedQuote 的查询?
我的更广泛的问题是:
如何查看 Axon 数据库中哪些字段可用于查询?
查询消息通常从事件侦听器创建的视图模型中读取数据。事件侦听器通常根据命令模型做出的决定来执行逻辑。通常,这涉及更新视图模型或将更新转发给其他组件。
因此创建和接收视图的机制完全取决于您。 (jpa, spring data, mybatis, jdbc etc.) axon项目的一个很好的例子是https://github.com/idugalic/digital-restaurant
Sergey 在这里指出的内容也非常有道理。 如何在此类应用程序中对查询模型建模完全取决于您。所以选择 JPA、JDBC、MongoDB、ElasticSearch、Neo4j..无论哪种包含查询模型套件的格式最适合您!
因此,这种存储机制的自由也指出您的查询模型未存储在 'Axon Database' 中;它存储在您选择的数据库中。
关于如何为您的查询建模,您可以查看 QueryMessages
和 QueryHandlers
如何在 Axon 中使用,而不是 here。从 Axon 的角度来看,这只是另一种专用消息类型,就像 Command- 和 EventMessages 一样。
使用查询消息,您可以将要执行的查询类型指定为单独的对象,是查询。
该查询将依次由 @QueryHandler
注释函数处理。
@QueryHandler
注释函数将依次执行实际操作,从您选择用于存储模型的数据库中检索模型。
希望这能给你一些见解!