Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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
功能运算符导致JPA崩溃?(虫子?)_Jpa_Functional Programming_Eclipselink_Java 8 - Fatal编程技术网

功能运算符导致JPA崩溃?(虫子?)

功能运算符导致JPA崩溃?(虫子?),jpa,functional-programming,eclipselink,java-8,Jpa,Functional Programming,Eclipselink,Java 8,我在JPA和Java8函数编程方面遇到了一个非常奇怪的问题 我有一个学生和演示班,他们的关系是双向的。在Java7中一切都很好,但我只是切换到Java8 此有效(可见是私有的,没有设置程序): 此崩溃: public static void setAllVisible(boolean visible) { new PresentationRepository().findAll().forEach(x -> x.visible = visible); //s

我在JPA和Java8函数编程方面遇到了一个非常奇怪的问题

我有一个
学生
演示
班,他们的关系是双向的。在Java7中一切都很好,但我只是切换到Java8

有效(可见是私有的,没有设置程序):

崩溃

public static void setAllVisible(boolean visible) {
    new PresentationRepository().findAll().forEach(x -> x.visible = visible);        
    //same for new PresentationRepository().findAll().stream().forEach(x -> x.visible = visible);
}
多次出现此异常:

Exception in thread "main" Local Exception Stack: 
Exception [EclipseLink-30005] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.PersistenceUnitLoadingException
Exception Description: An exception was thrown while searching for persistence archives with ClassLoader: sun.misc.Launcher$AppClassLoader@4554617c
Internal Exception: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [BachelorproefPU] failed.
Internal Exception: Exception [EclipseLink-7250] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.ValidationException
Exception Description: [class models.users.Student] uses a non-entity [class models.planning.Presentation] as target entity in the relationship attribute [field presentation].
    at org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:127)
    at org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactoryImpl(PersistenceProvider.java:107)
    at org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(PersistenceProvider.java:177)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
    at persistence.JPAEntityManager.getEntityManagerFactory(JPAEntityManager.java:45)
    at models.repositories.Repository.<init>(Repository.java:23)
    at models.repositories.UserRepository.<init>(UserRepository.java:15)
    at main.DbInitializer.<init>(DbInitializer.java:27)
    at main.DbInitializer.main(DbInitializer.java:23)
线程“main”本地异常堆栈中的异常: 异常[EclipseLink-30005](Eclipse持久性服务-2.5.1.v20130918-f2b9fc5):org.Eclipse.Persistence.exceptions.PersistenceUnitLoadingException 异常描述:使用ClassLoader:sun.misc.Launcher搜索持久性存档时引发异常$AppClassLoader@4554617c 内部异常:javax.persistence.PersistenceException:Exception[EclipseLink-28018](Eclipse持久性服务-2.5.1.v20130918-f2b9fc5):org.Eclipse.persistence.exceptions.EntityManagerSetupException 异常描述:PersistenceUnit[BachelorproefPU]的预部署失败。 内部异常:异常[EclipseLink-7250](Eclipse持久性服务-2.5.1.v20130918-f2b9fc5):org.Eclipse.Persistence.exceptions.ValidationException 异常说明:[类模型.用户.学生]使用非实体[类模型.规划.表示]作为关系属性[字段表示]中的目标实体。 在org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:127)上 位于org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactoryImpl(PersistenceProvider.java:107) 位于org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(PersistenceProvider.java:177) 位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:79) 位于persistence.JPAEntityManager.getEntityManager工厂(JPAEntityManager.java:45) 位于models.repositories.Repository.(Repository.java:23) 位于models.repositories.UserRepository.(UserRepository.java:15) 在main.DbInitializer中。(DbInitializer.java:27) 位于main.DbInitializer.main(DbInitializer.java:23) 我非常确定persistence.xml的配置是正确的(因为它在没有Java8的情况下工作),并且所有的类都包含在内并具有@Entity。这也不是学生类,因为如果我将其注释掉,错误只会给出另一个类


这是什么原因造成的?也许还值得一提的是,我偶尔会遇到编译崩溃,他们要求我将项目发送给Oracle。

你会发现当前的EclipseLink不支持Java 1.8语法;看看

我将DataNucleus v4.0用于我的项目,并适用于Java 1.8

Exception in thread "main" Local Exception Stack: 
Exception [EclipseLink-30005] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.PersistenceUnitLoadingException
Exception Description: An exception was thrown while searching for persistence archives with ClassLoader: sun.misc.Launcher$AppClassLoader@4554617c
Internal Exception: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [BachelorproefPU] failed.
Internal Exception: Exception [EclipseLink-7250] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.ValidationException
Exception Description: [class models.users.Student] uses a non-entity [class models.planning.Presentation] as target entity in the relationship attribute [field presentation].
    at org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:127)
    at org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactoryImpl(PersistenceProvider.java:107)
    at org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(PersistenceProvider.java:177)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
    at persistence.JPAEntityManager.getEntityManagerFactory(JPAEntityManager.java:45)
    at models.repositories.Repository.<init>(Repository.java:23)
    at models.repositories.UserRepository.<init>(UserRepository.java:15)
    at main.DbInitializer.<init>(DbInitializer.java:27)
    at main.DbInitializer.main(DbInitializer.java:23)