gpt4 book ai didi

corda - 查询 LinearState 状态中的嵌套集合

转载 作者:行者123 更新时间:2023-12-01 00:20:44 25 4
gpt4 key购买 nike

我们是否有嵌套在状态中的可查询持久集合的模式?

class ALinearState(val items: List<Item>) : LinearState 
data class Item(name: String, ...)

对于给定的 ALinearState , alpha我们希望存储相同的版本 UniqueIdentifier .每个版本都有一组离散的 items .我们希望能够查询 items 的表匹配过滤器,然后恢复 alpha 的集合状态匹配过滤的 items .

有没有办法实现这一目标?
谢谢。

最佳答案

您可以使用任何形式的 JPA/Hibernate 模型定义来表示您的契约(Contract)状态。例如:

object TestSchema : MappedSchema(SchemaFamily::class.java, 1, setOf(Parent::class.java, Child::class.java)) {
@Entity
@Table(name = "Parents")
class Parent : PersistentState() {
@OneToMany(fetch = FetchType.LAZY)
@JoinColumns(JoinColumn(name = "transaction_id", referencedColumnName = "transaction_id"), JoinColumn(name = "output_index", referencedColumnName = "output_index"))
@OrderColumn
@Cascade(CascadeType.PERSIST)
var children: MutableSet<Child> = mutableSetOf()
}

@Entity
@Table(name = "Children")
class Child {
@Id
@GeneratedValue
@Column(name = "child_id", unique = true, nullable = false)
var childId: Int? = null

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns(JoinColumn(name = "transaction_id", referencedColumnName = "transaction_id"), JoinColumn(name = "output_index", referencedColumnName = "output_index"))
var parent: Parent? = null
}
}

就后续查询而言,最好使用 JDBC 查询来执行您可能拥有的任何自定义查询(使用标准 JDBC 或 Hibernate)。

关于corda - 查询 LinearState 状态中的嵌套集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48930564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com