apache / apache/netbeans

PROBLEM TO CREATE JPA CONTROLLER WITH WIZARD

Open
#7,208 0 comments 0 reactions 0 assignees View on GitHub
kind:bug needs:triage
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.