isTrackChangesByType()
Whether memory usage is reduced during this transaction at the expense
of tracking changes at the type level instead of the instance level,
resulting in more aggressive cache invalidation.

setTrackChangesByType(boolean trackByType)
If a large number of objects will be created, modified, or deleted
during this transaction setting this option to true will reduce memory
usage if you perform periodic flushes by tracking changes at the type
level instead of the instance level, resulting in more aggressive cache
invalidation.

setTrackChangesByType

If a large number of objects will be created, modified, or deleted
during this transaction setting this option to true will reduce memory
usage if you perform periodic flushes by tracking changes at the type
level instead of the instance level, resulting in more aggressive cache
invalidation.

validateChanges

Validate the changes made in this transaction, reporting any optimistic
violations, constraint violations, etc. In a datastore transaction or
a flushed optimistic transaction, this method will act just like
EntityManager.flush(). In an optimistic transaction that has not yet begun a
datastore-level transaction, however, it will only report exceptions
that would occur on flush, without retaining any datastore resources.

retrieve

Immediately load the given object's persistent fields. One might
use this action to make sure that an instance's fields are loaded
before transitioning it to transient. Note that this action is not
recursive. Any related objects that are loaded will not necessarily
have their fields loaded.

createInstance

Create a new instance of type cls. If cls is
an interface or an abstract class whose abstract methods follow the
JavaBeans convention, this method will create a concrete implementation
according to the metadata that defines the class. If cls
is a non-final concrete type that has metadata but does not implement
PersistenceCapable, this method will
create a subclass of the type that does implement
PersistenceCapable, and will attempt
to redefine the methods in cls to enable persistent
attribute tracking. Otherwise, if cls is a managed type,
this will return an instance of the specified class.

getVersion

assertNotCloseInvoked

void assertNotCloseInvoked()

Throw appropriate exception if close has been invoked but the broker
is still open. We test only for this because if the broker is already
closed, it will throw its own more informative exception when we
delegate the pending operation to it.