Object class, clone method of, 158
Object equivalence. See Equality (==) operator; equals method
Object graph, cutting by using transient keyword, 156
Object model for Library app, 64
Object pooling, 338
Object recycling, 338
Object reuse, 338
objectid-class attribute of metadata class tag, 31
ObjectOutputStream defaultWriteObject method, 153
Ockham's razor, 34
OIDString field, 242, 244
One-cache-per-PM architecture, 137–140
One-pm-per-request design (Web app), 334–335, 339–354
One-pm-per-request design example, 340–354
One-pm-per-session design (Web app), 334, 354–355
One-pm-per-update design (Web app), 335, 355–357
One-to-many relationship, select on join using, 68
One-to-one relationship, select on join using, 67–68
onMessage method, 225
open command, 297
Operators (JDOQL), 52–54
Optimistic concurrency check, 330
Optimistic concurrency value, 106
Optimistic lock failure, handling, 262–263
Optimistic property (transaction), 112–113, 124–127, 262
Optimistic transaction failure, view after, 310
Optimistic transactions, 105–106, 262–263, 315
vs. datastore transactions, 112–113
and flushing the cache, 64
for long-running transactions, 308
makeTransactional in, 85
performance boost for, 140
state transitions unique to, 127–129
for user think time, 112
Optimizations, for before-image, 119–120
OR operator (||), 53–54, 60
Oracle SELECT-FOR-UPDATE statement, 107
Ordering operator, 53
Ordering string (query results), 61
Ordering string property (query), 60
Outdated update, explained, 107
Overriding methods, 252