有一些提示表明 Spring Data 可以与 Google App Engine 配合使用,例如:
- http://tommysiu.blogspot.com/2014/01/spring-data-on-gae-part-1.html
- http://blog.eisele.net/2009/07/spring-300m3-on-google-appengine-with.html
很多例子都不是“Spring Boot”,所以我一直在尝试用它来改造一些东西。然而,我已经被这个错误困扰了好几天了:
[INFO] Caused by: java.lang.NullPointerException
[INFO] at org.datanucleus.api.jpa.metamodel.SingularAttributeImpl.isVersion(SingularAttributeImpl.java:79)
[INFO] at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.findVersionAttribute(JpaMetamodelEntityInformation.java:102)
[INFO] at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:79)
[INFO] at org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getMetadata(JpaEntityInformationSupport.java:65)
[INFO] at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation(JpaRepositoryFactory.java:149)
[INFO] at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:88)
[INFO] at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:68)
[INFO] at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:158)
[INFO] at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:224)
[INFO] at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:210)
[INFO] at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:92)
[INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$6.run(AbstractAutowireCapableBeanFactory.java:1602)
[INFO] at java.security.AccessController.doPrivileged(Native Method)
[INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1599)
[INFO] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549)
[INFO] ... 40 more
在哪里,我尝试将 Spring Data JPA 与 DataNucleus/AppEngine 结合使用:
@Configuration
@ComponentScan
@EnableJpaRepositories
@EnableTransactionManagement
class JpaApplicationConfig {
private static final Logger logger = Logger
.getLogger(JpaApplicationConfig.class.getName());
@Bean
public EntityManagerFactory entityManagerFactory() {
logger.info("Loading Entity Manager...");
return Persistence
.createEntityManagerFactory("transactions-optional");
}
@Bean
public PlatformTransactionManager transactionManager() {
logger.info("Loading Transaction Manager...");
final JpaTransactionManager txManager = new JpaTransactionManager();
txManager.setEntityManagerFactory(entityManagerFactory());
return txManager;
}
}
我已经测试了 Persistence.createEntityManagerFactory("transactions-Optional");
以查看应用程序是否可以使用此 EMF 持久保存,嗯,确实如此,所以我确信此 EMF 工作正常。问题是 Spring Data JPA 的“连接”,有人可以帮忙吗?
最佳答案
你是说这个问题吗 http://www.datanucleus.org/servlet/jira/browse/NUCJPA-250 因为这似乎很久以前就已经解决了。显然,您必须获得一个可以与您的 JPA 提供程序版本配合使用的 GAE 版本。
关于java - 使 Spring Data JPA 与 DataNucleus (GAE) 配合使用 (Spring Boot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24116653/