최근 DI 용 스프링 프레임 워크를 사용하여 마이 그 레이션되었습니다. 나는 잘 작동하는 영속성 관리자를 삽입하고있다. 새로 설치하면 얻을 수있는 결과는 다음과 같습니다.데이터 핵을 사용하여 jdo, spring 및 H2를 사용하여 스키마를 자동 작성합니다.
SEVERE: Required table missing .... Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"
충분하게, 자동 작성 테이블을 사용할 수 없습니다. -하지만 datanucleus.autoCreateTables
이
을 설정하는 곳 난 알아낼 수 없습니다<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.h2.Driver"/>
<property name="url" value="jdbc:h2:./thedbpath.db;MV_STORE=FALSE;MVCC=FALSE;FILE_LOCK=NO"/>
<property name="username" value=""/>
<property name="password" value=""/>
</bean>
<bean id="pmf" class="org.datanucleus.api.jdo.JDOPersistenceManagerFactory" destroy-method="close">
<property name="connectionFactory" ref="dataSource"/>
<property name="nontransactionalRead" value="true"/>
</bean>
모든 작품 :
는 내가 의사에 따라 스프링의 context.xml이처럼 내 지속성 관리자를 만들 일반적으로 persistence.xml에 설정 될 것입니다 - 스프링 context.xml에 datanucleus 속성을 어디에 두어야하는지 알지 못합니다. 미리 감사드립니다
편집 : 아래의 답변 덕분에,이 올바른 설정했다 :
<bean id="pmf" class="org.springframework.orm.jdo.LocalPersistenceManagerFactoryBean">
<property name="jdoProperties">
<props>
<prop key="javax.jdo.PersistenceManagerFactoryClass">
org.datanucleus.api.jdo.JDOPersistenceManagerFactory
</prop>
<prop key="javax.jdo.option.ConnectionURL">jdbc:h2:./database/db;MV_STORE=FALSE;MVCC=FALSE;;FILE_LOCK=NO</prop>
<prop key="javax.jdo.option.ConnectionUserName">sa</prop>
<prop key="javax.jdo.option.ConnectionPassword"></prop>
<prop key="javax.jdo.option.ConnectionDriverName">org.h2.Driver</prop>
<prop key="org.jpox.autoCreateSchema">true</prop>
<prop key="org.jpox.identifier.case">PreserveCase</prop>
<prop key="datanucleus.autoCreateTables">true</prop>
</props>
</property>
</bean>
감사합니다. Neil - 위의 문서는 약간 오래되었지만 맨 아래에있는 샘플은 올바른 구성으로되어 있습니다. 내 게시물을 업데이트하고 이것을 답변으로 사용했습니다. – bsautner