我遇到了一个问题,请帮忙。基于 M13 的 Corda 代码。我的架构代码主要用于定义架构来引用您的示例。
object LegalContractSchemaV1 : MappedSchema(
schemaFamily = LegalContractSchema.javaClass,
version = 1,
mappedTypes = listOf(PersistentLegalContractState::class.java)) {
@Entity
@Table(name = "legal_contract_states")
class PersistentLegalContractState(
@Column(name = "contract_title`enter code here`")
var contractTitle: String,
@Column(name = "sender_name")
var senderName: String,
@Column(name = "recipient_name")
var recipientName: String,
@Column(name = "status")
var status: String) : PersistentState(){
// constructor(stateRef: StateRef) : this(stateRef.txhash.bytes.toHexString(), stateRef.index)
}
Corda 节点错误日志。
E 12:53:45 [rpc-server-handler-pool-0]Vault.HibernateVaultQueryImpl._queryBy -
org.hibernate.InstantiationException:没有默认构造函数
实体: :
com.legalcontract.schema.LegalContractSchemaV1$PersistentLegalContractState
E 12:53:45 [rpc-server-handler-pool-0] communications.ObservableContext.sendMessage - 发送消息失败,
踢客户。消息是
RpcReply(id=RpcRequestId(toLong=4982229886899153484),
结果=ErrorOr(值=null, 错误=org.hibernate.InstantiationException:
实体没有默认构造函数::
com.legalcontract.schema.LegalContractSchemaV1$PersistentLegalContractState))
com.esotericsoftware.kryo.KryoException:类 org.hibernate.InstantiationException 未注释或位于
白名单,因此不能用于序列化
序列化跟踪:
错误(net.corda.core.ErrorOr)
在net.corda.core.serialization.CordaClassResolver.checkClass(CordaClassResolver.kt:65)
〜[corda-core-0.13.0.jar:?]
在net.corda.core.serialization.CordaClassResolver.getRegistration(CordaClassResolver.kt:35)
〜[corda-core-0.13.0.jar:?]
在 com.esotericsoftware.kryo.Kryo.getRegistration(Kryo.java:488)
~[kryo-4.0.0.jar:?]
在net.corda.nodeapi.RPCKryo.getRegistration(RPCStructures.kt:74)
~[corda-node-api-0.13.0.jar:?]
在 com.esotericsoftware.kryo.util.DefaultClassResolver.writeClass(DefaultClassResolver.java:97)
~[kryo-4.0.0.jar:?]
kotlin-noarg 插件为已使用选定注释进行注释的类生成默认构造函数。
为带注释的@Entity申请Kotlin-jpa插件来生成默认构造函数。
将脚本添加到 gradle 文件中
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
}
}
apply plugin: "kotlin-jpa"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)