You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .context/_meta/key-decisions.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ last_updated: 2026-02-10
15
15
| ID | Decisao | Status | Racional | Impacto |
16
16
| --- | --- | --- | --- | --- |
17
17
| ADR-001 | Arquitetura em camadas (`web/service/dao/model/util`) | Aceita | Facilita manutencao em legado e separa responsabilidades | Evita acoplamento entre HTTP, regra e SQL |
18
-
| ADR-002 |SQL explicito em DAO | Aceita |Controle explicito de SQL e compatibilidade com Java 6 | Mudancas de schema exigem ajuste manual de SQL |
18
+
| ADR-002 |Hibernate nativo em DAO (Session/Transaction) com SQL nativo pontual | Aceita |Reduzir boilerplate JDBC e manter controle fino nas tabelas auxiliares | Mudancas de schema exigem alinhar mapeamentos ORM e SQL auxiliar|
19
19
| ADR-003 | H2 embarcado para ambiente local e testes | Aceita | Rapidez de setup e execucao de suite automatizada | Aproxima testes de persistencia sem dependencia externa |
20
20
| ADR-004 | Campos de layout modelados com metadados (`layout_campo` + `_layout_valor`) | Aceita | Cobrir variacao de leiautes sem inflar schema principal | Import/export permanece extensivel por configuracao |
21
21
| ADR-005 | Autenticacao por sessao HTTP + `AuthFilter`| Aceita | Simplicidade operacional no stack servlet legado | Requer cuidado com protecao de rotas `/app/*`|
@@ -30,7 +30,8 @@ last_updated: 2026-02-10
30
30
| ADR-014 | Escape de saida JSP centralizado em `ViewUtils.e(...)`| Aceita | Mitigar XSS em renderizacao de dados dinamicos | Padroniza renderizacao segura e reduz risco de regressao |
31
31
| ADR-015 | Hash de senha PBKDF2 com migracao transparente de SHA-256 legado | Aceita | Elevar seguranca sem quebrar base existente de usuarios | Login bem-sucedido em hash legado dispara rehash para PBKDF2 |
32
32
| ADR-016 | Command Pattern no web layer para despacho de `acao` (`AbstractActionServlet`) | Aceita | Reduzir encadeamento de `if/else` e facilitar extensao de operacoes por modulo | Mantem comportamento e melhora legibilidade/manutenibilidade dos servlets |
33
-
| ADR-017 | Hibernate 4.2 introduzido como infraestrutura de conexao para DAOs | Aceita | Adicionar framework de persistencia compativel com Java 6 sem quebrar SQL legado | DAOs passam a usar `HibernateConnectionProvider` e base fica pronta para migracao ORM gradual |
33
+
| ADR-017 | Hibernate 4.2 consolidado como ORM nativo por XML (`*.hbm.xml`) | Aceita | Estabilizar persistencia em Java 6 sem depender de JPA nesta versao | DAOs passam a usar `AbstractHibernateDao` e `SessionFactory`|
34
+
| ADR-018 | JPA adiado para versao 1.2.0 | Aceita | Reduzir risco de mudanca dupla (ORM + API JPA) na mesma entrega | Baseline 1.1.x permanece Hibernate nativo sem `EntityManager`|
F --> I[HibernateConnectionProvider / SessionFactory]
31
+
E --> F[DAOs Hibernate]
32
+
F --> I[AbstractHibernateDao / SessionFactory]
33
33
I --> G[(H2 Database)]
34
34
D --> H[JSP Views]
35
35
```
@@ -41,7 +41,7 @@ flowchart LR
41
41
| Web |`br.gov.inep.censo.web`| Controller HTTP e roteamento |`AbstractActionServlet`, `AlunoServlet`, `CursoServlet`, `CursoAlunoServlet`, `DocenteServlet`, `IesServlet`|
42
42
| Filtro |`br.gov.inep.censo.web.filter`| Protecao de rotas autenticadas e anti-CSRF |`AuthFilter`, `CsrfFilter`|
43
43
| Service |`br.gov.inep.censo.service`| Regra de negocio e orquestracao |`AlunoService`, `CursoService`, `CursoAlunoService`, `DocenteService`, `IesService`|
44
-
| DAO |`br.gov.inep.censo.dao`|SQL, mapeamento, CRUD e consultas|`AlunoDAO`, `CursoDAO`, `CursoAlunoDAO`, `DocenteDAO`, `IesDAO`, `MunicipioDAO`|
44
+
| DAO |`br.gov.inep.censo.dao`|CRUD, transacao e consulta com Hibernate nativo|`AlunoDAO`, `CursoDAO`, `CursoAlunoDAO`, `DocenteDAO`, `IesDAO`, `MunicipioDAO`|
0 commit comments