Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

254
Visualizações
Columna desconocida de JPA en la lista de campos

Tengo una relación entre las clases de Accommodation y Booking , y también establecí una clave externa en la tabla de reserva.

 ALTER TABLE `project`.`booking` ADD INDEX `fk_accId_fk_idx` (`accommodation` ASC); ALTER TABLE `project`.`booking` ADD CONSTRAINT `fk_accId_fk` FOREIGN KEY (`accommodation`) REFERENCES `project`.`accommodation` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;

Clase de alojamiento:

 @Entity .... public class Accommodation implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", unique = true, nullable = false) private BigInteger id; @OneToMany(mappedBy = "accommodation", fetch = FetchType.EAGER, cascade = CascadeType.REMOVE) @JsonManagedReference private List < Booking > bookings; ......getters setters }

Clase de reserva:

 @Entity public class Booking implements Serializable { ...... @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "bookings", nullable = true) @JsonBackReference private Accommodation accommodation; ....getters setters }

Cuando ejecuto una consulta para enumerar alojamientos, aparece un error de columna desconocida en la lista de campos.

javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: no se pudo extraer ResultSet] con causa raíz com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: columna desconocida 'bookings7_.bookings' en 'field list'

Incluso establecí la relación y definí la clave externa en la tabla, ¿cuál es la razón por la que recibo este error?

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Intente definir su mapeo de tablas de unión manualmente en JPA. Suelta tu esquema y deja que JPA cree tus tablas:

clase de alojamiento

 @OneToMany(mappedBy = "accommodation", fetch = FetchType.EAGER, cascade = CascadeType.REMOVE) @JsonManagedReference private List < Booking > bookings;

clase de reserva

 @ManyToOne(fetch = FetchType.EAGER) @JoinTable(name = "accommodation_booking_join_table", joinColumns = {@JoinColumn(name="booking_id")}, inverseJoinColumns = @JoinColumn(name = "accommodation_id")) @JsonBackReference private Accommodation accommodation;
about 4 years ago · Santiago Trujillo Relatório

0

Intente cambiar los nombres de sus columnas a minúsculas en su base de datos y clase de entidad.

about 4 years ago · Santiago Trujillo Relatório

0

Tuve una situación como esa y la resolví cambiando la posición del campo en la consulta. Parece que es un error de MySQL, como (o el mismo que) el mencionado en esta publicación:

https://bugs.mysql.com/bug.php?id=1689

La descripción de este error de MySQL mencionaba una solución alternativa similar: "Descubrí que al intercambiar la posición de ese campo en la tabla con otro campo funcionaba bien".

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda