usando Hibernate, me gustaría actualizar un dato en la base de datos sobre la base de condiciones, pero me dio el siguiente error: "nodo para atravesar no puede ser nulo"valor de actualización con join
Aquí está la descripción de mi base de datos:
Account: id, email, password
Member : id, account, team
Team: id, current (and a reference to member => members)
Aquí es mi JPA:
UPDATE Team t SET t.current = :current LEFT JOIN t.members m WHERE t.current = :current_true AND m.account = :account
¿Qué estoy haciendo mal? Si muevo el LEFT JOIN para antes del SET:
UPDATE Team t LEFT JOIN t.members m SET t.current = :current WHERE t.current = :current_true AND m.account = :account
llegué: "esperando SET, encontré IZQUIERDA"
Si quito la unión:
UPDATE Team t SET t.current = :current WHERE t.current = :current_true AND t.members.account = :account
llegué: " Intento ilegal de eliminación de la colección ".
¿Cuál es la forma correcta de actualizar los valores?
Gracias por su ayuda!
Una actualización SQL nativo se prefirió entonces, es tonto para repetir n entrada en su base de datos para hacer la actualización cuando se puede hacerlo con una consulta! (y es extraño JPA no lo incluye ?!) –
@ cx42net Aun así, no veo la necesidad de la unión en su consulta. ¿Por qué no puedes escribir la consulta sobre la entidad del Equipo sin usar el campo de miembros? Después de todo, estás utilizando una combinación izquierda, por lo que el resultado sería el mismo, ¿no es así? –
El miembro se une al equipo y a la cuenta, y debo filtrar la actualización en función de las cuentas, así que supongo que debo unirme a un miembro. –