But what was even more useful, was that the failures in instantiating the EntityManager clearly identified several issues with my Entity classes. Now that I've finally got the EntityManager working, I can move on to actually building test cases. Stay tuned.
In my implementation, I did two things differently from Mr. Gross. First, I don't have a web tier, so the reference to
/WEB-INF/classes/ in the build file isn't relevant. Also, I didn't create an orm.xml file. Here is the code as I implemented it:
In the Test class:
@BeforeClass
public static void setUpClass() {
/* Code adapted from
* Author: Joerg Gross
* Title: DevBlog "JPA Unit test setup with NetBeans"
* URL: http://eercp.blogspot.com/2011/12/ide-setup-with-netbeans.html
*/
Properties props = new Properties();
props.put("javax.persistence.transactionType", "RESOURCE_LOCAL");
props.put("javax.persistence.jtaDataSource", "");
props.put("javax.persistence.nonJtaDataSource", "");
props.put("eclipselink.jdbc.driver", "org.apache.derby.jdbc.EmbeddedDriver");
props.put("eclipselink.jdbc.url", "jdbc:derby:testDB;create=true");
props.put("eclipselink.jdbc.user", "");
props.put("eclipselink.jdbc.password", "");
props.put("eclipselink.ddl-generation", "drop-and-create-tables");
props.put("eclipselink.logging.level", "INFO");
try{
em = Persistence.createEntityManagerFactory("BirdDogDataPU",props).createEntityManager();
} catch(PersistenceUnitLoadingException e){
System.out.println(e.getMessage());
throw e;
}
}
In the build-impl.xml file:
On a slightly different note:
Does anyone else ever enter their password into the username field? About 20% of the time, my login pages will open without the username auto-populated and I automatically start typing my password, oblivious to the fact my cursor is in the wrong place. Have you ever done this? No, just me. Yeah, I figured as much.
No comments:
Post a Comment