JavaWebStack / JavaWebStack/orm
Show better error message when Model class isn't abstract
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 7
- Forks
- 1
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Describe the Bug
When you extend the ORM Model to your own Model and forget to set it to abstract, you get an Exception saying
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Field.getType()" because the return value of "org.javawebstack.orm.TableInfo.getField(String)" is null
at org.javawebstack.orm.TableInfo.getIdType(TableInfo.java:282)
at org.javawebstack.orm.TableInfo.analyzeTable(TableInfo.java:95)
at org.javawebstack.orm.TableInfo.constructInfo(TableInfo.java:61)
at org.javawebstack.orm.TableInfo.<init>(TableInfo.java:56)
at org.javawebstack.orm.Repo.<init>(Repo.java:35)
at org.javawebstack.orm.ORM.register(ORM.java:25)
at org.javawebstack.orm.ORM.register(ORM.java:37)
To Reproduce
Steps to reproduce the behavior:
- Forget to set your model class to abstract
Expected behavior
Maybe show some better error message which indicates that your base model isn't abstract yet.
Environment Information:
- Java Language Level 21
- ORM Version 1.0.3-SNAPSHOT
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere den Fehler, indem du ein nicht-abstraktes Modell registrierst, und beginne bei ORM.register, um dem Stack bis in Repo.java und TableInfo.java zu folgen, insbesondere durch constructInfo, analyzeTable und getIdType an den gemeldeten Zeilen. Prüfe die vorhandenen Modellvalidierungs- und Fehlerbehandlungspfade. Als erledigt gilt die Aufgabe, wenn dieser Missbrauch eine klare Exception erzeugt, die angibt, dass das Basismodell abstrakt sein muss, statt der gemeldeten NullPointerException.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- backend, databases
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100