Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The following methods in OpenJPAPersistence return things that are not currently part of what I consider a user-focused API:
    toBrokerFactory()
    toBroker()
    toEntityManagerFactory()
    toEntityManager()
    getMetaData()
    toOpenJPAObjectId() / toOpenJPAObjectIds()

            I think that we should move these methods to o.a.o.persistence.impl.ImplHelper or some other impl-specific class.

  • We have a bunch of methods in OpenJPAEntityManager that seem like they should belong on a new OpenJPAEntityTransaction interface:

                public void commitAndResume();
                public void rollbackAndResume();
                public void setRollbackOnly(); (already part of EntityTransaction)
                public void setRollbackOnly(Throwable cause);
                public Throwable getRollbackCause();
                public boolean getRollbackOnly(); (also already part of EntityTransaction)

                public boolean isStoreActive();
                public void beginStore();

            I'm not quite as sure where these belong:

                public void setSavepoint(String name);
                public void rollbackToSavepoint();
                public void rollbackToSavepoint(String name);
                public void releaseSavepoint();
                public void releaseSavepoint(String name);

                public void preFlush();
                public void validateChanges();

  • I don't like the OpenJPAEntityManager.setLargeTransaction() method name - I'd like to rename it to setTrackChangesByType() instead, since it better reflects what the method does. (We can easily deprecate the old method if desired.)

...