PROBLEM TO CREATE JPA CONTROLLER WITH WIZARD
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 935
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 17
Description
### Apache NetBeans version
Apache NetBeans 21
### What happened
The wizard create a JPA CLASS without method, just a class with name provided. THE IDE CREATE A NOTIFICACTION WITH THIS MESSAGE.
```
INFO [org.netbeans.ui.indexing]: Indexing started, time from last indexing 150,867 ms.
SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerIterator$$Lambda/0x0000011212fe7dd0
java.lang.IllegalArgumentException: Type jakarta.persistence.EntityManagerFactory cannot be found
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerUtil$TreeMakerUtils.createType(JpaControllerUtil.java:1074)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerUtil$TreeMakerUtils.addVariable(JpaControllerUtil.java:915)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerUtil$TreeMakerUtils.addVariable(JpaControllerUtil.java:923)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerGenerator.lambda$generateJpaController$2(JpaControllerGenerator.java:340)
at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:675)
at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:665)
at org.netbeans.api.java.source.JavaSource$MultiTask.run(JavaSource.java:504)
at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)
at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:132)
at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:116)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178)
at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)
at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)
at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)
at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)
at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178)
at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:83)
at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:454)
at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:425)
at org.netbeans.api.java.source.JavaSource.runModificationTask(JavaSource.java:686)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerGenerator.generateJpaController(JpaControllerGenerator.java:247)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerGenerator.generateJpaController(JpaControllerGenerator.java:143)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerIterator.generateJpaControllers(JpaControllerIterator.java:251)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerIterator.lambda$instantiate$1(JpaControllerIterator.java:105)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1420)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2035)
```
### Language / Project Type / NetBeans Component
JAVA ANT, MAVEN
### How to reproduce
1. Create a PROJECT Ant, Maven, Graddle.
2. Then Create your Entity class from database.
3. Then Create JPA CONTROLLER From class.
### Did this work correctly in an earlier version?
Apache NetBeans 16 or earlier
### Operating System
WINDOWS 11 WINDOWS 10
### JDK
JDK 21
### Apache NetBeans packaging
Apache NetBeans provided installer
### Anything else
```
INFO [org.netbeans.ui.indexing]: Indexing started, time from last indexing 150,867 ms.
SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerIterator$$Lambda/0x0000011212fe7dd0
java.lang.IllegalArgumentException: Type jakarta.persistence.EntityManagerFactory cannot be found
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerUtil$TreeMakerUtils.createType(JpaControllerUtil.java:1074)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerUtil$TreeMakerUtils.addVariable(JpaControllerUtil.java:915)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerUtil$TreeMakerUtils.addVariable(JpaControllerUtil.java:923)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerGenerator.lambda$generateJpaController$2(JpaControllerGenerator.java:340)
at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:675)
at org.netbeans.api.java.source.JavaSource$1.run(JavaSource.java:665)
at org.netbeans.api.java.source.JavaSource$MultiTask.run(JavaSource.java:504)
at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)
at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:132)
at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:116)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181)
at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178)
at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)
at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)
at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)
at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)
at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178)
at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:83)
at org.netbeans.api.java.source.JavaSource.runUserActionTaskImpl(JavaSource.java:454)
at org.netbeans.api.java.source.JavaSource.runUserActionTask(JavaSource.java:425)
at org.netbeans.api.java.source.JavaSource.runModificationTask(JavaSource.java:686)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerGenerator.generateJpaController(JpaControllerGenerator.java:247)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerGenerator.generateJpaController(JpaControllerGenerator.java:143)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerIterator.generateJpaControllers(JpaControllerIterator.java:251)
at org.netbeans.modules.j2ee.persistence.wizard.jpacontroller.JpaControllerIterator.lambda$instantiate$1(JpaControllerIterator.java:105)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1420)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2035)
```
### Are you willing to submit a pull request?
Yes
Contributor guide
Research direction
Start with JpaControllerIterator and JpaControllerGenerator, especially the generation path around JpaControllerGenerator.java:247 and :340, then reproduce the JPA Controller wizard using the reported Ant or Maven setup. Trace why jakarta.persistence.EntityManagerFactory cannot be found; done means the wizard generates the controller methods instead of only an empty class and no exception is logged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100