Java “休眠错误”;运算符不存在:bigint=字符变化“;
我使用hibernate读取数据库数据,但在运行查询时,表之间的关系有问题。我也找不到原因 这就是错误: 2021-01-23 18:16:55.427警告1192---[nio-8080-exec-2]o.h.engine.jdbc.spi.SqlExceptionHelper:SQL错误:0,SQLState:42883 2021-01-23 18:16:55.427错误1192---[nio-8080-exec-2]o.h.engine.jdbc.spi.SqlExceptionHelper:错误:运算符不存在:bigint=字符变化 Dica:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。 波西昂:384 这就是问题所在:Java “休眠错误”;运算符不存在:bigint=字符变化“;,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,我使用hibernate读取数据库数据,但在运行查询时,表之间的关系有问题。我也找不到原因 这就是错误: 2021-01-23 18:16:55.427警告1192---[nio-8080-exec-2]o.h.engine.jdbc.spi.SqlExceptionHelper:SQL错误:0,SQLState:42883 2021-01-23 18:16:55.427错误1192---[nio-8080-exec-2]o.h.engine.jdbc.spi.SqlExceptionHelpe
public interface QueryUsuario extends CrudRepository<EntidadeUsuario, Integer> {
@Query(value = "select * from usuario where email = :email", nativeQuery = true)
public EntidadeUsuario consultaUsuarioPorPorEmail(@Param("email") String email);
}
public void consultaUsuario(String email) {
var x = queryUsuario.consultaUsuarioPorPorEmail(email);
}
实体:
@Getter
@Setter
@Table(name = "usuario")
@Entity
public class EntidadeUsuario {
@Id
@Column(name = "id_usuario")
String idUsuario;
@Column(name = "cd_usuario")
String usuario;
@Column(name = "senha")
String senha;
@Column(name = "email")
String email;
@Column(name = "nome")
String nome;
@Column(name = "descricao")
String descricao;
@Column(name = "endereco")
String endereco;
@Column(name = "foto")
String fotoBase64;
@Column(name = "dt_atz")
Date data;
@OneToMany(mappedBy = "idUsuario")
private List<EntidadeUsuarioCursos> entidadeUsuarioCursos;
// @OneToMany(mappedBy = "usuario")
// private List<EntidadeGrupoEstudoUsuario> entidadeGrupoEstudoUsuario;
}
@Getter
@Setter
@Table(name = "usuario_perfil_cursos_interesse")
@Entity
public class EntidadeUsuarioCursos {
@Id
@Column(name = "id_usuario_perfil_cursos_interesse")
Integer idUsuarioPerfilCursosInteresse;
@Getter(AccessLevel.NONE)
@ManyToOne
@JoinColumn(name = "id_usuario")
EntidadeUsuario idUsuario;
@Column(name = "id_curso")
Integer idCurso;
@Column(name = "dt_atz")
Date data;
}
我明白了,错误是因为EntidadeUsuario的id是一个整数,而不是字符串。 我改变这一点:
@Id
@Column(name = "id_usuario")
String idUsuario;
为此:
@Id
@Column(name = "id_usuario")
Integer idUsuario;
当我注释行private List entidadeUsuarioCursos时;整个地球都在消失
@Id
@Column(name = "id_usuario")
Integer idUsuario;