package org.example.openjpatest;
import
java.util.HashMap;
import
java.util.Map;
import
javax.persistence.EntityManager;
import
javax.persistence.EntityManagerFactory;
import
javax.persistence.Persistence;
import
org.apache.openjpa.meta.MetaDataRepository;
import
org.apache.openjpa.persistence.EntityManagerFactoryImpl;
public class NoEnhancerExample {
public static void main( String[] args ) {
NoEnhancerExample example = new NoEnhancerExample();
EntityManagerFactory factory = example.createEntityManagerFactory();
EntityManager manager = factory.createEntityManager();
Person person = new Person();
person.setName( "first person" );
manager.merge( person );
manager.persist( person );
factory.close();
}
private EntityManagerFactory createEntityManagerFactory() {
Map<String, String> properties = new HashMap<String, String>();
properties.put( "openjpa.ConnectionUserName", "sa" );
properties.put( "openjpa.ConnectionPassword", "" );
properties.put( "openjpa.ConnectionURL", "jdbc:hsqldb:mem:SqlModelStore_Test" );
properties.put( "openjpa.ConnectionDriverName", "
org.hsqldb.jdbcDriver" );
properties.put( "openjpa.ConnectionFactoryProperties",
"PrettyPrint=true, PrettyPrintLineLength=80" );
properties.put( "openjpa.Log",
"DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE" );
EntityManagerFactory result
= Persistence.createEntityManagerFactory( "model", properties );
initOpenJpa( result );
return result;
}
private void initOpenJpa( EntityManagerFactory factory ) {
EntityManagerFactoryImpl factoryImpl
= ( EntityManagerFactoryImpl )factory;
MetaDataRepository metaDataRepository
= factoryImpl.getConfiguration().getMetaDataRepositoryInstance();
// metaDataRepository.addPersistenceAware( Person.class );
metaDataRepository.addMetaData( Person.class );
}
}