babyfish-ct / jimmer

A revolutionary ORM framework for both java and kotlin.
Apache License 2.0
876 stars 88 forks source link

非spring场景对复杂计算属性的支持TransientResolver #793

Closed SWQXDBA closed 5 days ago

SWQXDBA commented 5 days ago

目前TransientResolver功能在文档中与实现中与spring过于耦合,文档中没有说明非spring环境下如何注册TransientResolver(实际上是sqlclient中),并且通过sqlclient进行注册未免有些过于不方便了

希望能够通过反射在非spring环境下直接构造一个TransientResolver的实例,比如


    /**
     * 需完成人数
     */
    @Transient(NeedFinishCount::class)
    val needFinishCount: Int

这种场景下可以尝试寻找NeedFinishCount的无参构造函数来获取一个实例。 或者通过类似的其他方法提供一种与spring无关的快捷的使用方式,而非需要通过sqlclient手动设置

Enaium commented 5 days ago

用不用spring都能使用复杂计算属性,方式都一样

babyfish-ct commented 5 days ago

全局配置setTransientResolverProvider

在spring-start中,已经覆盖为spring解析规则。

SWQXDBA commented 5 days ago

建议在https://babyfish-ct.github.io/jimmer-doc/zh/docs/mapping/advanced/calculated/transient 的文档中加一下