on 07-01-2008 2:28 PM
Hello,
I am developing persistance in the system database MaxDB on NWDI 7.1 SP5 with NWDS. I get the following error in Developer Studio:
"0 persistence units are found. Only exactly one persistence unit is supported."
Anybody seen this problem before and knows what it means and how to solve it?
Cheers,
Patrik
Guess you have an empty persistence.xml, i.e. one that does not define any persistence unit. If you add one the error should disappear.
HTH!
\-- Vladimir
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Here is my current persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="impl_ejb">
<jta-data-source>SII_DB_ALIAS</jta-data-source>
</persistence-unit>
</persistence>
Unfortunately, the location is "Unknown". The following error can be found in the PDE runtime error log:
Message: An error occurred while traversing resources.
java.lang.ClassCastException: org.eclipse.jdt.core.dom.QualifiedName
at org.eclipse.jpt.core.internal.jdtutility.EnumArrayDeclarationAnnotationElementAdapter.resolve(EnumArrayDeclarationAnnotationElementAdapter.java:91)
at org.eclipse.jpt.core.internal.jdtutility.EnumArrayDeclarationAnnotationElementAdapter.getValue(EnumArrayDeclarationAnnotationElementAdapter.java:66)
at org.eclipse.jpt.core.internal.jdtutility.EnumArrayDeclarationAnnotationElementAdapter.getValue(EnumArrayDeclarationAnnotationElementAdapter.java:1)
at org.eclipse.jpt.core.internal.jdtutility.MemberAnnotationElementAdapter.getValue(MemberAnnotationElementAdapter.java:43)
at org.eclipse.jpt.core.internal.jdtutility.ShortCircuitAnnotationElementAdapter.getValue(ShortCircuitAnnotationElementAdapter.java:47)
at org.eclipse.jpt.core.internal.content.java.mappings.JavaCascade.updateFromJava(JavaCascade.java:574)
at org.eclipse.jpt.core.internal.content.java.mappings.JavaRelationshipMapping.updateFromJava(JavaRelationshipMapping.java:567)
at org.eclipse.jpt.core.internal.content.java.mappings.JavaSingleRelationshipMapping.updateFromJava(JavaSingleRelationshipMapping.java:592)
at org.eclipse.jpt.core.internal.content.java.mappings.JavaOneToOne.updateFromJava(JavaOneToOne.java:304)
at org.eclipse.jpt.core.internal.content.java.mappings.JavaAttributeMapping.initialize(JavaAttributeMapping.java:80)
at org.eclipse.jpt.core.internal.content.java.JavaPersistentAttribute.updateFromJava(JavaPersistentAttribute.java:564)
at org.eclipse.jpt.core.internal.content.java.JavaPersistentType.updatePersistentFields(JavaPersistentType.java:694)
at org.eclipse.jpt.core.internal.content.java.JavaPersistentType.updatePersistentAttributes(JavaPersistentType.java:677)
at org.eclipse.jpt.core.internal.content.java.JavaPersistentType.updateFromJava(JavaPersistentType.java:671)
at org.eclipse.jpt.core.internal.content.java.JpaCompilationUnit.synchronizePersistentTypes(JpaCompilationUnit.java:406)
at org.eclipse.jpt.core.internal.content.java.JpaCompilationUnit.setFile(JpaCompilationUnit.java:325)
at org.eclipse.jpt.core.internal.content.java.JavaJpaFileContentProvider.buildRootContent(JavaJpaFileContentProvider.java:30)
at org.eclipse.jpt.core.internal.JpaFileContentRegistry.buildContent(JpaFileContentRegistry.java:60)
at org.eclipse.jpt.core.internal.JpaFileContentRegistry.getFile(JpaFileContentRegistry.java:44)
at org.eclipse.jpt.core.internal.JpaProject.createJpaFile(JpaProject.java:630)
at org.eclipse.jpt.core.internal.JpaProject$3.visit(JpaProject.java:497)
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:57)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:126)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:67)
at org.eclipse.jpt.core.internal.JpaProject.fill(JpaProject.java:504)
at org.eclipse.jpt.core.internal.JpaModelManager.fillJpaProject(JpaModelManager.java:180)
at org.eclipse.jpt.core.internal.JpaModel$1.visit(JpaModel.java:152)
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:57)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:119)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:67)
at org.eclipse.jpt.core.internal.JpaModel.fill(JpaModel.java:158)
at org.eclipse.jpt.core.internal.JpaModelManager$WorkspaceBuildJob$1.run(JpaModelManager.java:260)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1779)
at org.eclipse.jpt.core.internal.JpaModelManager$WorkspaceBuildJob.run(JpaModelManager.java:257)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
The problem was solved by Vladimir after taking a deep look into my entity code.
The reason was that I had defined the "cascade" attribute of some relationships. What I failed to recognize is that the this attribute expects an array of cascade type constants, not a single constant:
wrong: @OneToOne(cascade = CascadeType.ALL)
right: @OneToOne(cascade = {CascadeType.ALL)}
This caused the JPA tools in DevStudio to crash.
Obvious, isn't it?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Have you got a Dictionary assigned in your JPA project settings?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.