Java - ¿Como crear una query nativa de insercion en Spring?

 
Vista:

¿Como crear una query nativa de insercion en Spring?

Publicado por Laura (25 intervenciones) el 27/01/2020 15:18:16
Buenas tardes, quisiera saber como crear una NativeQuery en Spring, que inserte dentro de una tabla.

La tabla se llamaria peliculas y los campos serian ID, director, titulo y estreno
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Como crear una query nativa de insercion en Spring?

Publicado por Laura (25 intervenciones) el 28/01/2020 18:57:22
En ese punto indica como hacer una query nativa, pero no expecificamente una de insercion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Como crear una query nativa de insercion en Spring?

Publicado por ricardo (2 intervenciones) el 28/01/2020 04:22:37
En tu repositorio inyectado

1
2
3
4
5
6
7
@Repository
public interface ServiciosRepository extends JpaRepository<Servicio, Integer> {
 
    @Modifying
    @Query(value = "insert into servicio (nombre,estado) VALUES (:nombre,:estado)", nativeQuery = true)
    @Transactional
    void InsertarServicio(@Param("nombre") String NombreServicio, @Param("estado") String Estado);

------------------------------

no si antes hacer la inyeccion de tu repositorio en servicios

1
2
3
4
5
6
7
8
@Autowired
private ServiciosRepository servicioRepo;
 
@Override
public void Insertar(String NombreServicio, String Estado) {
    // TODO Auto-generated method stub
    servicioRepo.InsertarServicio(NombreServicio, Estado);
}


// espero q os sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Como crear una query nativa de insercion en Spring?

Publicado por Laura (25 intervenciones) el 28/01/2020 18:58:51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@RequestMapping(value="/addPelicula", method=RequestMethod.GET)
public Pelicula addPelicula (@RequestParam(name="titulo") String titulo),
(@RequestParam(name="director") String director),
(@RequestParam(name="estreno") int estreno){
 
emFactory = Persistence.createEntityManagerFactory("PU_BASPEL");
entityManager = emFactory.createEntityManager();
entityManager.getTransaction().begin();
 
Pelicula p = new Pelicula (1, titulo, director, estreno);
entityManager.persist(p);
 
entityManager.getTransaction().commit();
entityManager.close();
emFactory.close();
return p;

En esta consulta por ejemplo, como la arreglarias para que funcionara?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de pablo
Val: 626
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

¿Como crear una query nativa de insercion en Spring?

Publicado por pablo (238 intervenciones) el 28/01/2020 20:23:43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@RequestMapping(value="/addPelicula", method=RequestMethod.GET)
public Pelicula addPelicula (@RequestParam(name="titulo") String titulo),
(@RequestParam(name="director") String director),
(@RequestParam(name="estreno") int estreno){
 
emFactory = Persistence.createEntityManagerFactory("PU_BASPEL");
entityManager = emFactory.createEntityManager();
 
Pelicula p = new Pelicula (1, titulo, director, estreno);
 
entityManager.getTransaction().begin();
 
 
entityManager.persist(p);
 
entityManager.getTransaction().commit();
entityManager.close();
emFactory.close();
return p;

Prueba de esa manera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Como crear una query nativa de insercion en Spring?

Publicado por Laura (25 intervenciones) el 28/01/2020 22:33:42
Me daria error en las lineas 2, 3 y 4 (missing method body, or declare abstract)

En la linea 9 tendria un error sobre titulo (cannot find symbol)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

¿Como crear una query nativa de insercion en Spring?

Publicado por Rodrigo (623 intervenciones) el 28/01/2020 23:26:15
Desconozco los detalles, pero este codigo tiene apariencia de tener parentesis demas.

Osea, convertir esto:
1
2
3
public Pelicula addPelicula (@RequestParam(name="titulo") String titulo),
(@RequestParam(name="director") String director),
(@RequestParam(name="estreno") int estreno) {

en esto
1
2
3
public Pelicula addPelicula (@RequestParam(name="titulo") String titulo,
@RequestParam(name="director") String director,
@RequestParam(name="estreno") int estreno) {
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Como crear una query nativa de insercion en Spring?

Publicado por Laura (25 intervenciones) el 29/01/2020 00:12:15
Ahora si funciona, muchisimas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Como crear una query nativa de insercion en Spring?

Publicado por Laura (25 intervenciones) el 29/01/2020 01:04:16
podrias ayudarme en esta otra consulta? introduciendola tal cual te la mando, si en el url introduzco /getAllPeliculasByDirector me imprimiria todas las peliculas del director que tengo introducido en hardcode en la consulta, que modificacion deberia de hacer para que en la url pudiera introducir el director que quiero consultar? gracias

1
2
3
4
5
6
7
8
9
10
@RequestMapping(value="/getAllPeliculasByDirector", method=RequestMethod.GET)
public List<Pelicula> getAllPeliculasByDirector (){
    emFactory = Persistence.createEntityManagerFactory("PU_BASPEL");
    entityManager = emFactory.createEntityManager();
 
    List<Pelicula> pelicula = entityManager.createNativeQuery("SELECT titulo, estreno FROM Pelicula WHERE director = 'David Fincher'").getResultList();
    entityManager.close();
    emFactory.close();
    return pelicula;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

¿Como crear una query nativa de insercion en Spring?

Publicado por Rodrigo (623 intervenciones) el 29/01/2020 05:40:22
Especifica el parametro del mismo modo que lo haces con la insercion, y luego usas el valor en la consulta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Como crear una query nativa de insercion en Spring?

Publicado por Laura (25 intervenciones) el 29/01/2020 07:22:27
No.entiendo bien lo que quieres decir. Podrias escribirlo? mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar