MyBatis在Kotlin中使用不可变数据类

时间:2017-11-29 22:30:34

标签: orm kotlin mybatis

Kotlin有this noarg plugin为类生成一个合成的noarg构造函数,没有一个可以帮助JPA(以及像mybatis,hibernate这样的框架)来实例化一个新对象。例如:

data class User(val id: Int, val name: String)

鉴于这些属性被声明为val,即不可变,这些框架如何创建一个包含所有值的完全烘焙对象。 kotlin-noarg插件只是帮助实例化一个新实例,但属性(id和name)仍然是不可变的,因此在创建对象后不应该允许更改。

要明确的是,添加noarg插件后,工作正常。问题是,鉴于属性是不可变的。

This SO question也谈论这个解决方案,但不是如何解决。

0 个答案:

没有答案