Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

249
Vistas
¿Por qué hibernate genera una combinación cruzada al eliminar?

Estoy usando PostgreSQL 9.6 con Hibernate 5.2.10 y tengo 3 entidades:

 @Entity @Table(name = "entity1") public class Entity1 { @Id private long id; @ManyToOne @JoinColumn(name = "entity2_id") private Table2 table2; } @Entity @Table(name = "entity2") public class Entity2 { @Id private long id; @ManyToOne @JoinColumn(name = "entity3_id") private Table3 table3; } @Entity @Table(name = "entity3") public class Entity3 { @Id private long id; }

Necesito eliminar todas las ocurrencias de Entity1 cuando se une al filtrado de Entity2 por Entity3, así:

 em.createQuery("delete from Entity1 e where e.entity2.entity3 = :entity3")

E Hibernate genera el siguiente SQL:

 delete from entity1 cross join entity2 entity2_ where entity3_id=?

El problema es que PostgreSQL no reconoce la unión cruzada y no encontré otra forma de hacerlo (aparte de usar una consulta nativa).

PD: en la base de datos todas las tablas tienen claves foráneas.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Ahora descubrí que no es posible usar uniones en consultas de eliminación (en realidad, estaba migrando de EclipseLink a Hibernate y en EclipseLink funcionó, solo en Hibernate no lo hace).
Excepción de Hibernate en MySQL Cross Join Query

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda