neo4j - spring boot Neo4j⚡️RX dto 投影与关系不起作用
问题描述
我正在尝试使用 DTO 投影,仅通过 DTO 获取选定的关系来优化 Neo4j 查询。
它适用于普通字段,但是当我尝试获得与投影字段的洞察关系时,它返回 null。
这是我的节点实体
@Node("Subscription")
data class Subscription(
@Id
val id: UUID,
@Relationship(type = "TO_PLAN", direction = OUTGOING)
val plan: SubscriptionPlan?,
@Relationship(type = "HAS_INVOICE", direction = OUTGOING)
val invoice: Invoice?,
@Relationship(type = "HAS_INSIGHT", direction = OUTGOING)
val insight: Map<Insight, SubscriptionInsightsRelationship>,
val status: SubscriptionStatuses,
val isAutoRenewal: Boolean,
val insightsLastChange: LocalDateTime?,
@CreatedDate
val createdDate: LocalDateTime?,
@LastModifiedDate
val lastModifiedDate: LocalDateTime?
)
Map 是如何在 Neo4j 中设置丰富的关系⚡️RX
这是我的投影 DTO
data class RetrieveSubscriptionDto(
val id: UUID,
val insight: Map<Insight, SubscriptionInsightsRelationship>?,
val status: SubscriptionStatuses,
val lastModifiedDate: LocalDateTime?
)
这是存储库
interface SubscriptionRepository : ReactiveNeo4jRepository<Subscription, UUID> {
fun findAllByIdIsNotNull(): Flux<RetrieveSubscriptionDto>
}
此投影的返回值为
{
"id": "d3a816e5-d0be-4721-b34d-346b011b9757",
"insight": null,
"status": "ACTIVE",
"lastModifiedDate": "2020-10-18T01:29:40.37691"
}
解决方案
推荐阅读
- java - 带有部分提交的存储过程(从 Java 调用) - PostgreSQL 11
- sql-server - 删除 SQL Server Management Studio 数据库列表中的条目?
- angular - popupParent 'ag-grid-angular' 的未知属性
- javascript - iOS中消失的下拉菜单问题?
- laravel - vuejs中通过props的雄辩关系属性
- robotframework - 在 Robotframework 中获取给定元素的 HTML 标签
- python - 在收集负载上捕获事件
- pg-promise - pg-promise:BEGIN 和 COMMIT 什么时候发送?
- powershell - Powershell 路径关闭(设置损坏?)
- python-3.x - 熊猫如何添加搜索“?” 与 str.contains