4
respostas

Postman envia requisição mas recebo erro no eclipse

Criei a API usando Java com Hibernate, conectei a API com o Oracle DB EX. Testando a API pelo Postman, minhas primeiras requisições funcionaram normalmente, menos o metodo GET, então criei os métodos de outra entidade, e aconteceu a mesma coisa, porém chegou um momento que todas minhas requisições, de qualquer tipo começaram a dar erro, o postman envia a requisição normalmente mas a execução da aplicação no eclipse retorna erro no console... Um trecho do erro:

2023-03-29T21:50:08.026-03:00 ERROR 3980 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]] with root cause

oracle.jdbc.OracleDatabaseException: ORA-02289: a sequência não existe

    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:636) ~[ojdbc11-21.7.0.0.jar:21.6.0.0.0]
    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:563) ~[ojdbc11-21.7.0.0.jar:21.6.0.0.0]
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1230) ~[ojdbc11-21.7.0.0.jar:21.6.0.0.0]
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:771) ~[ojdbc11-21.7.0.0.jar:21.6.0.0.0]
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:298) ~[ojdbc11-21.7.0.0.jar:21.6.0.0.0]
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:511) ~[ojdbc11-21.7.0.0.jar:21.6.0.0.0]
Alguém pode me ajudar? não sei o que fazer, não consigo achar nada na internet...
4 respostas

Fala Tiago, de boa ?

Cara, cada banco de dados funciona de uma maneira distinta, no caso do Oracle ele organiza os registros por sequencia, imagino que o problema seja ai.

Dá uma olhada nas suas entidades e ve se você colocou a estrategia de gerar a sequencia no id, geralmente a galera coloca algo parecido com isso para funcionar:

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQUENCE1")
@SequenceGenerator(name="SEQUENCE1", sequenceName="SEQUENCE1", allocationSize=1)

Opa, boa noite cara. Então, pior que segui a estratégia referente ao oracle...até criou as tabelas e algumas entidades no banco...

pelo erro ele fala que não soube gerar a sequencia:

oracle.jdbc.OracleDatabaseException: ORA-02289: a sequência não existe

Sim, mas não consigo achar erro no código...

@Entity
@Table(name="tb_usuario")
@EqualsAndHashCode(of = "id_usuario")
public class Usuario {

    @Id
    @Column(name="id_usuario")
    @SequenceGenerator(name="usuario", sequenceName="sq_tb_usuario", allocationSize=1)
    @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="usuario")
    private Integer idUsuario;

    @Column(name="em_usuario")
    private String  emailUsuario;    //email

    @Column(name="sn_usuario")
    private String  senhaUsuario;    //senha

    @Column(name="nm_usuario")
    private String  nomeUsuario;    //nome

    @Column(name="tt_usuario")
    private String  tituloUsuario;    //titulo