public LifeCycleState transitionReadField(StateManager sm, boolean isLoaded)
{
Transaction tx = sm.getObjectManager().getTransaction();
if (!tx.isActive() && !tx.getNontransactionalRead())
{
throw new JPOXUserException(LOCALISER.msg("027001"), sm.getInternalObjectId());
}
if (!tx.getOptimistic() && tx.isActive())
{
return changeState(sm, P_CLEAN);