JavaWebStack / JavaWebStack/orm

Show better error message when Model class isn't abstract

Aberta
#56 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

bug
Linguagem predominante
Java
Estrelas
7
Forks
1
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

**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.(TableInfo.java:56)
at org.javawebstack.orm.Repo.(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:
1. 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

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Reproduza a falha registrando um modelo não abstrato e comece em ORM.register, seguindo a stack até Repo.java e TableInfo.java, especialmente por constructInfo, analyzeTable e getIdType nas proximidades das linhas relatadas. Verifique os caminhos existentes de validação de modelos e tratamento de erros. Considera-se concluído quando esse uso indevido produzir uma exceção clara identificando que o modelo base deve ser abstrato, em vez da NullPointerException relatada.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
backend, databases
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.