Primeiramente gostaria de agradecer imensamente todo conteúdo ministrado nesse curso, foi de grande valia para meu desempenho em meu trabalho. Vou primeiro passar informações sobre a API que desenvolvi ao longo do Curso, Minha API é uma aplicação que simplesmente cadastrar e lista informações, nada muito complexo... Utilizo um banco de dados Oracle que contém minhas tabelas...
aplication.properties:
#DataSource
spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=dbsdtc100.usinacoruripe.com.br)(PORT=1101)))(CONNECT_DATA=(SERVICE_NAME=devdb)))
spring.datasource.username=sa
spring.datasource.password=sasasa
#JPA
spring.jpa.database-platform=org.hibernate.dialect.Oracle12cDialect
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
#Boot
spring.jpa.defer-datasource-initialization=true
Classe Perfil:
@Entity
@Table(name = "t_perfis_api", schema = "global")
public class Perfil implements GrantedAuthority{
private static final long serialVersionUID = 1L;
@Id @Column(name = "SEQ_PERFIL")
private Integer id;
@Column(name = "DSC_PERFIL")
private String name;
@Override
public String getAuthority() {
return this.name;
}
}
Classe Usuario
@Entity
@Table(name = "t_usuarios_api", schema = "global")
public class Usuario implements UserDetails {
private static final long serialVersionUID = 1L;
@Id @Column(name = "COD_USUARIO")
private Long idUsuario;
@Column(name = "NOM_LOGIN")
private String loginUsuario;
@Column(name = "NOM_SENHA")
private String senhaUsuario;
@Column(name = "NOM_USUARIO")
private String nomeUsuario;
@Column(name = "DSC_EMAIL")
private String emailUsuario;
@Column(name = "DAT_EXPIRACAO")
private LocalDateTime dataExpiracao;
@Column(name = "STA_BLOQUEIO")
private Integer staBloqueio;
@ManyToMany(fetch = FetchType.EAGER)
private Set<Perfil> perfis;
<Todos os métodos Getters e Setters existem, retirei pois excedeu o limite de caracteres >
// Métodos implementados da classe "UserDetails"
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return this.perfis;
}
@Override
public String getPassword() {
return this.senhaUsuario;
}
@Override
public String getUsername() {
return this.loginUsuario;
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
}
Banco de dados: Estou recebendo o seguinte erro do Console do Eclipse no momento em que tento fazer login para pegar o Token
Caused by: Error : 942, Position : 206, Sql = select perfis0_.usuario_cod_usuario as usuario_cod_usuari1_3_0_, perfis0_.perfis_seq_perfil as perfis_seq_perfil2_3_0_, perfil1_.seq_perfil as seq_perfil1_0_1_, perfil1_.dsc_perfil as dsc_perfil2_0_1_ from t_usuarios_api_perfis perfis0_ inner join global.t_perfis_api perfil1_ on perfis0_.perfis_seq_perfil=perfil1_.seq_perfil where perfis0_.usuario_cod_usuario=:1 , OriginalSql = select perfis0_.usuario_cod_usuario as usuario_cod_usuari1_3_0_, perfis0_.perfis_seq_perfil as perfis_seq_perfil2_3_0_, perfil1_.seq_perfil as seq_perfil1_0_1_, perfil1_.dsc_perfil as dsc_perfil2_0_1_ from t_usuarios_api_perfis perfis0_ inner join global.t_perfis_api perfil1_ on perfis0_.perfis_seq_perfil=perfil1_.seq_perfil where perfis0_.usuario_cod_usuario=?, Error Msg = ORA-00942: a tabela ou view não existe
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:637)
... 164 more
Estou com um pressentimento que o Spring Boot não está encontrando minha tabela T_USUARIO_PERFIL, até porque eu não encontrei no curso aonde eu declaro ela...