从库中@embedding时匹配构造函数时出错
Error matching constructors when @embedding from library
我正在尝试使用以下@Entity:
@Entity(tableName = "transactions")
data class TransactionWithState(
@PrimaryKey
val hash: String,
@Embedded
val transaction: Transaction,
@Embedded
val state: TransactionState)
交易是来自库的 class 并产生以下问题:
e: Tried the following constructors but they failed to match:
e: Transaction(org.kethereum.model.ChainDefinition,java.lang.Long,org.kethereum.model.Address,java.math.BigInteger,java.math.BigInteger,java.util.List<java.lang.Byte>,java.math.BigInteger,org.kethereum.model.Address,java.lang.String,java.math.BigInteger) : [arg0 : null, arg1 : null, arg2 : null, arg3 : null, arg4 : null, arg5 : null, arg6 : null, arg7 : null, arg8 : null, arg9 : null]
e: error: Entities and Pojos must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type).
e:
当我将事务 class 复制并粘贴到我的项目时,它可以正常编译。但这是我想避免的重复和间接。
首先看起来订单有问题:
https://github.com/walleth/kethereum/commit/fb9123c68739a315b42b3d7e57b016c7953530bf
但不幸的是,这是一个死胡同 - 目前我看不到直接使用这个 class - 如果有任何关于如何做到这一点的提示,我会很高兴。
Google Issues Tracker 报告的问题:
目前的解决方法是创建一个空构造函数并将所有字段作为 var no val
使用 kotlin-metadata
添加了对 kotlin
的支持。 将在 1.1 alpha 2 中退出
我正在尝试使用以下@Entity:
@Entity(tableName = "transactions")
data class TransactionWithState(
@PrimaryKey
val hash: String,
@Embedded
val transaction: Transaction,
@Embedded
val state: TransactionState)
交易是来自库的 class 并产生以下问题:
e: Tried the following constructors but they failed to match:
e: Transaction(org.kethereum.model.ChainDefinition,java.lang.Long,org.kethereum.model.Address,java.math.BigInteger,java.math.BigInteger,java.util.List<java.lang.Byte>,java.math.BigInteger,org.kethereum.model.Address,java.lang.String,java.math.BigInteger) : [arg0 : null, arg1 : null, arg2 : null, arg3 : null, arg4 : null, arg5 : null, arg6 : null, arg7 : null, arg8 : null, arg9 : null]
e: error: Entities and Pojos must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type).
e:
当我将事务 class 复制并粘贴到我的项目时,它可以正常编译。但这是我想避免的重复和间接。 首先看起来订单有问题: https://github.com/walleth/kethereum/commit/fb9123c68739a315b42b3d7e57b016c7953530bf 但不幸的是,这是一个死胡同 - 目前我看不到直接使用这个 class - 如果有任何关于如何做到这一点的提示,我会很高兴。
Google Issues Tracker 报告的问题:
目前的解决方法是创建一个空构造函数并将所有字段作为 var no val
使用 kotlin-metadata
添加了对 kotlin
的支持。 将在 1.1 alpha 2 中退出