SORM は不変データを目指していると言われました。それはウェブサイトには書かれていません - 少なくとも私が見た主要な部分には書かれていませんでしたので、主張の厳格さに少し驚きました. そうすることをお勧めします。しかし、多分私は何かを見逃していました。
例では、オブジェクトで Db.save() を呼び出す前に「.copy(propery = newvalue)」を使用するように指示しています。ということでヒントです。
データを変更してデータベースで更新するとどうなるかに興味がありました。奇妙なことに、以下はうまくいきました:
case class Agent( var name : String )
object Db extends Instance(
entities = Set( Entity[Agent]() ),
url = "jdbc:h2:mem:hansi"
)
class SORMTest extends FunSuite {
test("Update") {
// Store values in the db:
val agent = Db.save( Agent("test") )
agent.name = "hansi"
Db.save(agent)
}
対応する ID の name プロパティを変更する update ステートメントがデータベースに作成されました。
そうするのはちょっとクレイジーですか?開発者からのコメントはありますか?