[Seaside] Seaside, Omnibase, OmnibaseSupport - markDirty failing
Bruno BB (st)
smalltalk at adinet.com.uy
Sun Feb 19 18:44:11 UTC 2006
Wilkes Joiner escribió:
>I'm learning to use Seaside with Omnibase and am having some issues.
>I'm getting a "ODBError: Object is not persistent or is a part of
>composite persistent object" when calling markDirty on an object.
>
>
This is because that object it was not make persistent.
I mean, that do not receive the #makePersistent: message.
Example:
bank := Bank new.
accout := Account new.
bank addAccount: account.
transaction makePersistent: bank.
transaction commit.
So, "bank" is a persistent object but "account" is a part of composite
persistent object.
After recover "bank" from repository you can not send #markDirty to
"account".
Only bank can receive #markDirty.
What to do ?
bank := Bank new.
accout := Account new.
bank addAccount: account.
transaction makePersistent: bank;
makePersistent: account. " NOW Account is a main persistent
object (NOT a part of composite persistent object) "
transaction commit.
Regards Bruno
More information about the Seaside
mailing list