2014-10-09 1 views
0

저는 Vaadin 프레임 워크, ORM JavaPersistence with Eclipselink 및 Oracle 데이터베이스를 사용하는 응용 프로그램을 개발 중입니다.ORM - Vaadin - JavaPersistence - 새로운 엔티티를 저장하지 않습니다.

다음과 같은 문제가 있습니다 : 내 논리적 모델을 주석이있는 데이터베이스에 모두 매핑했으며 DB에 정보가 있으면 매핑 프로세스가 모든 정보를 제공합니다. 새 엔티티를 저장하려고 할 때이 문제가 나타납니다.이 경우 클래스의 새 인스턴스를 만들고 그 클래스가 데이터베이스에 저장되지 않는다고 말하려고합니다. 해당 인스턴스를 저장해야하는 유일한 방법은 저장하려는 인스턴스의 클래스 유형으로 JPAContainer를 만들고 메서드 .AddEntity (인스턴스)를 호출하는 것입니다.

저는 객체 프로그래밍과 ORM의 새로운 것입니다. 하지만 내가 아는 한, ORM은 데이터베이스의 메모리 데이터를 저장하는 데 유용합니다. 사전, 감사에서

org.eclipse.persistence.jpa.PersistenceProvider 

</provider> 
<exclude-unlisted-classes> 
    false 
</exclude-unlisted-classes> 

<properties> 

    <property name="javax.jbdc.platform" value="org.eclipse.persistence.platform.database.OraclePlatform" /> 


    <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver" /> 
    <property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:xe"/> 
    <property name="javax.persistence.jdbc.user" value="system" /> 
    <property name="javax.persistence.jdbc.password" value="Windows706" /> 
    <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/> 

감사 :

이 내의 persistence.xml입니다!

+0

어떻게 당신이 당신의 실체를 유지하기 위해 노력하고 거래에 있습니다를 찾을 수있다? – Chris

+0

엔티티를 유지할 수있는 위치를 알고있는 유일한 방법은 엔티티 JPAContainter를 사용한 다음 JPA에서 메서드 .AddEntity (AnIstance)를 호출하는 것입니다. 그러므로 나는 더 많은 것을 자동적으로 찾고있다. –

답변

0

EclipseLink에서 JPA를 구현 했으므로 기존 방식으로 엔티티를 DB에 저장할 수 있습니다.

EntityManagerFactory emf = Persistence.createEntityManagerFactory("examplePersistenceUnit"); 
EntityManager em = emf.createEntityManager(); 
try 
{ 
    em.getTransaction().begin(); 
    YourEntity e = new YourEntity(); 
    e.setName("Chuck"); 
    e.setCity("Lisboa"); 
    em.persist(e); 
    em.getTransaction().commit(); 
} 
finally 
{ 
    em.close(); 
    emf.close(); 
} 
는 EclipseLink에

좋은 소개가 here