Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipselink与spring不兼容?_Java_Spring_Eclipselink - Fatal编程技术网

Java Eclipselink与spring不兼容?

Java Eclipselink与spring不兼容?,java,spring,eclipselink,Java,Spring,Eclipselink,我正试图使eclipselink适应我使用spring的项目。当我尝试使用EclipseLink EntityManagerFactory创建命名查询时 public class Test { private static final String FIND_ALL_TEST_ENTITIES = "SELECT te.id FROM TestEntity te"; public Test(EntityManager entityManager){

我正试图使eclipselink适应我使用spring的项目。当我尝试使用EclipseLink EntityManagerFactory创建命名查询时

public class Test {

    private static final String FIND_ALL_TEST_ENTITIES = "SELECT te.id FROM TestEntity te";

        public Test(EntityManager entityManager){
            EntityManagerFactory entityManagerFactory = entityManager.getEntityManagerFactory();
            entityManagerFactory.addNamedQuery("FIND_ALL_TEST_ENTITIES", entityManager.createQuery(FIND_ALL_TEST_ENTITIES));
        }
    }
我得到了这个错误:

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'test' defined in class path resource [com/github/bilak/eclipselinkspringbug/config/Config.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.github.bilak.eclipselinkspringbug.test.Test]: Factory method 'test' threw exception; nested exception is java.lang.ClassCastException: com.sun.proxy.$Proxy61 cannot be cast to org.eclipse.persistence.internal.jpa.QueryImpl
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at com.github.bilak.eclipselinkspringbug.Application.main(Application.java:22) [classes/:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.github.bilak.eclipselinkspringbug.test.Test]: Factory method 'test' threw exception; nested exception is java.lang.ClassCastException: com.sun.proxy.$Proxy61 cannot be cast to org.eclipse.persistence.internal.jpa.QueryImpl
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        ... 18 common frames omitted
Caused by: java.lang.ClassCastException: com.sun.proxy.$Proxy61 cannot be cast to org.eclipse.persistence.internal.jpa.QueryImpl
        at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.addNamedQuery(EntityManagerFactoryImpl.java:625) ~[eclipselink-2.6.2.jar:2.6.2.v20151217-774c696]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_40]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_40]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_40]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.invokeProxyMethod(AbstractEntityManagerFactoryBean.java:388) ~[spring-orm-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerFactoryBean.java:541) ~[spring-orm-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at com.sun.proxy.$Proxy56.addNamedQuery(Unknown Source) ~[na:na]
        at com.github.bilak.eclipselinkspringbug.test.Test.<init>(Test.java:18) ~[classes/:na]
        at com.github.bilak.eclipselinkspringbug.config.Config.test(Config.java:17) ~[classes/:na]
        at com.github.bilak.eclipselinkspringbug.config.Config$$EnhancerBySpringCGLIB$$3e1c89b1.CGLIB$test$0(<generated>) ~[classes/:na]
        at com.github.bilak.eclipselinkspringbug.config.Config$$EnhancerBySpringCGLIB$$3e1c89b1$$FastClassBySpringCGLIB$$38d568ea.invoke(<generated>) ~[classes/:na]
        at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:355) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at com.github.bilak.eclipselinkspringbug.config.Config$$EnhancerBySpringCGLIB$$3e1c89b1.test(<generated>) ~[classes/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_40]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_40]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_40]
        at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_40]
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        ... 19 common frames omitted
org.springframework.beans.factory.BeanCreationException:创建名为“test”的bean时出错,该bean在类路径资源[com/github/bilak/eclipselinkspringbug/config/config.class]中定义:通过工厂方法实例化bean失败;嵌套异常为org.springframework.beans.BeanInstantiationException:未能实例化[com.github.bilak.eclipselinkspringbug.test.test]:工厂方法“test”引发异常;嵌套异常为java.lang.ClassCastException:com.sun.proxy。$Proxy61不能强制转换为org.eclipse.persistence.internal.jpa.QueryImpl
在org.springframework.beans.factory.support.ConstructorResolver.InstanceUsingFactoryMethod(ConstructorResolver.java:599)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:772)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
在org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
在org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:307)[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:1180)[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
在com.github.bilak.eclipselinkspringbug.Application.main(Application.java:22)[classes/:na]
原因:org.springframework.beans.BeanInstantiationException:未能实例化[com.github.bilak.eclipselinkspringbug.test.test]:工厂方法“test”引发异常;嵌套异常为java.lang.ClassCastException:com.sun.proxy。$Proxy61不能强制转换为org.eclipse.persistence.internal.jpa.QueryImpl
在org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:189)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.beans.factory.support.ConstructorResolver.InstanceUsingFactoryMethod(ConstructorResolver.java:588)~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
... 省略18个公共框架
原因:java.lang.ClassCastException:com.sun.proxy.$Proxy61无法强制转换为org.eclipse.persistence.internal.jpa.QueryImpl
在org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.addNamedQuery(EntityManagerFactoryImpl.java:625)~[eclipselink-2.6.2.jar:2.6.2.v20151217-774c696]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.8.0\u 40]
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)~[na:1.8.0\u 40]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)~[na:1.8.0\u 40]
在java.lang.reflect.Method.invoke(Method.java:497)~[na:1.8.0\u 40]
在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.InvokeProxy方法(AbstractEntityManagerFactoryBean.java:388)~[spring-orm-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerFactoryBean.java:541)~[spring-orm-4.2.4.RELEASE.jar:4.2.4.RELEASE]
在com.sun.proxy.$Proxy56.addNamedQuery(未知源)~[na:na]
在com.github.bilak.eclipselinkspringbug.test.test.(test.java:18)~[classes/:na]
在com.github.bilak.eclipselinkspringbug.config.config.test(config.java:17)~[classes/:na]
public interface TestEntityRepository extends JpaRepository<TestEntity, String> {
}
List<TestEntity> testData = testEntityRepository.findAll();