当前,我有一个转换器,可以使用Kotlin在JOOQ中使用值对象。
[我的数据库有一个名为transactions
的表,其字段类型为decimal(10, 2)
称为billing _amount
,在我的Kotlin代码中,我有一个简单的ValueObject来自DDD进行包装,称为BillingAmount
,定义如下]]
data class BillingAmount(val value: BigDecimal)
至于我的jooq自定义转换器,我有以下代码:
public final TableField<TransactionsRecord, BillingAmount> BILLING_AMOUNT = createField( DSL.name("billing_amount"), org.jooq.impl.SQLDataType.NUMERIC(10, 2).nullable(false), this, "", org.jooq.Converter.ofNullable( java.math.BigDecimal.class, okano.dev.jooqtesting.BillingAmount.class, t -> new okano.dev.jooqtesting.BillingAmount(t), u -> u.getValue() ) );
[在我的存储库中,我只是想检索账单金额的总和,但是jooq抱怨
BillingAmount
不会扩展Number
类。我知道这是一种Java通用验证,它阻止了我的代码正常工作,但是除了扩展Number
类以外,还有什么办法可以解决此问题?我认为转换器应该足够,但是可以肯定的是我错了。
这是我要实现的简单查询:
// jooq is an instance of DSLContext return jooq.select(sum(TABLE.BILLING_AMOUNT)) .from(TABLE) .fetchSingle()
对此问题有何想法?预先感谢。
当前,我有一个转换器,可以使用Kotlin在JOOQ中使用值对象。我的数据库中有一个名为transactions的表,其字段类型为十进制(10,2),称为billing _amount,在我的Kotlin代码上...