[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.newcomer] JPA/EclipseLink 1.0.2 J2SE Project: emf.createEntityManager() truncates tables
|
- From: awaw123@xxxxxxx (Andi )
- Date: Sun, 1 Mar 2009 14:35:00 +0000 (UTC)
- Newsgroups: eclipse.newcomer
- Organization: Eclipse
- User-agent: NewsPortal/0.36 (http://florian-amrhein.de/newsportal)
I followed some tutorials as e.g.
http://www.vogella.de/articles/JavaPersistenceAPI/article.html to setup a
Java/JPA project.
I am using a MySQL 5 database together with the MySQLConnector v5.0.4 and
EclipseLink 1.0.2.
I defined a set of entities. Automatic creation of DDL in the database
works. I successfully create some entries in the tables programatically,
starting with a JUnit4 Test.
The problem is, that everytime I create a new entity manager all mapped
tables are truncated. Thus, every query on a new entity manager returns an
empty result.
The test case:
@Before
public void setUp() throws Exception {
emf = Persistence.createEntityManagerFactory("TestJPA");
}
@Test
public void doNothing() {
emf.createEntityManager().close();
}
@After
public void tearDown() {
emf.close();
}
results in an empty database.
I am afraid, I have some kind of fundamental misunderstanding. The vogella
tutorial and all others that I have found do a setup (@Before) that create
all queried data in advance, but do not explain why. How can I read
peristed data?
This is my persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="TestJPA" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>model.Family</class>
<class>model.Job</class>
<class>model.Person</class>
<class>model.OfficeJob</class>
<class>model.OutdoorJob</class>
<class>model.Animal</class>
<properties>
<property name="eclipselink.jdbc.url"
value="jdbc:mysql://localhost:3306/test01"/>
<property name="eclipselink.jdbc.user" value="root"/>
<property name="eclipselink.jdbc.password" value=""/>
<property name="eclipselink.jdbc.driver"
value="com.mysql.jdbc.Driver"/>
<property name="eclipselink.ddl-generation"
value="drop-and-create-tables" />
<property name="eclipselink.ddl-generation.output-mode"
value="database" />
<property name="eclipselink.target-database" value="MySQL4"/>
</properties>
</persistence-unit>
</persistence>
Thank you for your help in advance,
Andi