es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo aplicar la cláusula “With UR” en consultas HQL o SQL existentes? ¿Cómo puedo agregar esto en un archivo Java donde mi consulta está en formato de cadena?

Tengo esta consulta SQL en uno de los archivos de Java de la siguiente manera: (Estoy dando un ejemplo y no la verdadera)

@Query(“Select T1.ID” +
“, T1.CD” +
“, T1.Date” +
“, T1.Name” +
” From Table1 T1″ +
” Join Table2 T2 ” +
” On T1.ID = T2.ID” +
” Where T1.CD in
(‘test1′,’test2’)” +
” And NOT EXISTS” +
” (Select 1 From Table2 T3″
+
” Where T3.ID = T1.ID” +
” And T3.Name NOT
IN(‘P’,’Q’,’R’)”+
” )”)
List<object[]> methodToRetrieve
(@Param(“sequence”)String
sequence,@Param(“code”) code);

¿Alguien puede decirme dónde puedo agregar “With UR” en la consulta anterior?</object[]>

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para agregar “With UR” en la consulta anterior, se debe agregar al final de la cadena de consulta, justo antes del corchete de cierre. La consulta actualizada se vería así:

    @Consulta("Select T1.ID" +
        ", T1.CD" +
        ", T1.Fecha" +
        ", T1.Nombre" +
        " From Tabla1 T1" +
        " Join Tabla2 T2 " +
        " On T1.ID = T2.ID" +
        " Where T1.CD in " +
        "('test1','test2')" +
        " And NOT EXISTS" +
        "      (Select 1 From Tabla2 T3" +
        "       Where T3.ID = T1.ID " +
        "       And T3.Nombre NOT IN('P','Q','R')" +
        "    ) With UR")
        List<object[]> metodoParaObtener 
        (@Param("secuencia")String secuencia, @Param("codigo") codigo);
    

    Al agregar “With UR” al final de la consulta, se realiza la transacción con una lectura no confirmada, lo que permite que otras transacciones actualicen los mismos datos al mismo tiempo.</object[]>

Comments are closed.