我似乎无法使用.copy(..)
and 更新外部实体中的字段Db.save
。根本没有抛出异常,并且T with Persisted
从该方法返回的异常反映了我试图更新的内容。但是,当我尝试使用Db.query
or检索值时Db.fetchById
,只会更新非外部字段。例如:
case class Foo (a: String)
case class Bar (b: String, barfoo: Foo)
....
....
val foo1 = Db.save(Foo("Hello"))
val bar1 = Db.save(Bar("World", foo1))
val result = Db.save(bar1.copy(b="Beatiful World",
barfoo = bar1.barfoo.copy(a = "Hello My")))
println(result) // Prints: Bar(1,Beatiful World,Foo(1,Hello My))
println(Db.fetchById[Bar](result.id)) // Prints: Bar(1,Beatiful World,Foo(1,Hello))
因此,如您所见,该barfoo
字段未更新。
这是更新外国实体的错误方法吗?或者这可能是一个错误?
我正在使用 SORM v0.3.12 顺便说一句。