Querying nested collections in LinearState states

前端 未结 1 1186
生来不讨喜
生来不讨喜 2020-12-18 09:14

Do we have a pattern for queryable persistent collections nested within a state?

class ALinearState(val items: List) : LinearState 
data class It         


        
相关标签:
1条回答
  • 2020-12-18 10:13

    You can represent you Contract States using any form of JPA/Hibernate model definition. For example:

    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
        }
    }
    

    In terms of subsequent query, it would probably be best to use a JDBC query to execute any custom queries you may have (using standard JDBC or Hibernate).

    0 讨论(0)
提交回复
热议问题