title: Exception regarding runtime optimization using openJPA MySQL
body: <p>There must be a bunch of questions regarding this, and I have read a few, but the answer still eludes me. I am new to JPA and I am just trying to test a simple application to see if I can configure the thing properly.  It is a stand alone application meaning it will not be run with a web server or anything.  The entity class looks like:</p>
  
  <pre><code>@Entity
  public class Person{
  
      @Id
      private String userID = null;
  
      @Transient
      private UserState userState = null;
  
      private String email = null;
      private String name = null;
  
  
      public Person(){
          userID = null;
          email = null;
          name = null;
          userState = null;
      }
  
      public String getUserID() {
          return userID;
      }
  
      public void setUserID(String userID) {
          this.userID = userID;
      }
  
      public String getEmail() {
          return email;
      }
  
      public void setEmail(String email) {
          this.email = email;
      }
  
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      public UserState getUserState() {
          return userState;
      }
  
      public void setUserState(UserState userState) {
          this.userState = userState;
      }
  
  }
  </code></pre>
  
  <p>The main:</p>
  
  <pre><code>public class PersistenceTest {
  
      public static void main(String[] args) {
          System.out.println("creating person");
          Person p = new Person();
          p.setUserID("GregR");
          p.setEmail("Gregory@company.de");
          p.setUserState(UserState.ACTIVE);
          System.out.println("done creating person GregR");
  
  
          EntityManagerFactory factory = Persistence.createEntityManagerFactory(PersonService.PERSISTENCE_UNIT_NAME);
          System.out.println("factory initialized");
          EntityManager manager = factory.createEntityManager();
          System.out.println("EntityManager initialized");
          PersonService service = new PersonService(manager);
          System.out.println("service initialized");
  
          System.out.println("Beginning transaction");
          manager.getTransaction().begin();
          System.out.println("Transaction begun");
  
          System.out.println("attempting to persist person");
          service.persistEntity(p);
          manager.getTransaction().commit();
          System.out.println("person persisted");
  
          System.out.println("beginning cleanup");
          manager.close();
          factory.close();
          System.out.println("Cleanup has completed");
      }
  }
  </code></pre>
  
  <p>The config:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0"&gt;
      &lt;persistence-unit name="PersonService" transaction-type="RESOURCE_LOCAL"&gt;
          &lt;provider&gt;org.apache.openjpa.persistence.PersistenceProviderImpl&lt;/provider&gt;
          &lt;class&gt;de.hol.persistable.entities.Person&lt;/class&gt;
          &lt;properties&gt;
              &lt;property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/&gt;
              &lt;property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/ConnectionWikisDB"/&gt;
              &lt;property name="javax.persistence.jdbc.user" value="GregR"/&gt;
              &lt;property name="javax.persistence.jdbc.password" value="myPassword"/&gt;
          &lt;/properties&gt;
      &lt;/persistence-unit&gt;
  &lt;/persistence&gt;
  </code></pre>
  
  <p>The console printout:</p>
  
  <pre><code>creating person
  done creating person GReeder
  factory initialized
  47  PersonService  INFO   [main] openjpa.Runtime - Starting OpenJPA 2.3.0
  110  PersonService  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.MySQLDictionary".
  306  PersonService  INFO   [main] openjpa.jdbc.JDBC - Connected to MySQL version 5.5 using JDBC driver MySQL-AB JDBC Driver version mysql-connector-java-5.0.8 ( Revision: ${svn.Revision} ). 
  Exception in thread "main" &lt;openjpa-2.3.0-r422266:1540826 nonfatal user error&gt; org.apache.openjpa.persistence.ArgumentException: This configuration disallows runtime optimization, but the following listed types were not enhanced at build time or at class load time with a javaagent: "
  de.hol.persistable.entities.Person".
      at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:115)
      at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:312)
      at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:236)
      at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:212)
      at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:155)
      at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:226)
      at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:153)
      at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:59)
      at de.hol.persistable.PersistenceTest.main(PersistenceTest.java:24)
  </code></pre>
  
  <p><strong>My Questions</strong><br/>
  1. I guess the main question is, what am I doing wrong.  I am very new to this and am trying to just get this stand alone application to work so that I can expand it for real world use.<br>
  2. Am I missing some other configuration other than the persistence.xml file?<br/>
  3. What is the simplest way of getting around this error for a stand-alone app?</p>
  
  <p>Many thanks in advance!</p>