Inserting array of objects from java into oracle sql

// i can't find a way to insert an array of objects into oracle sql without going one by one. it's for a basic save game system. the array "ciudades" (each individual city) contains all the data about the state of the game and i need a way to upload it to the database.

java:

ArrayList<Ciudades> ciudades = new ArrayList<>(); // there's arround 50 positions

    private String nombre;
    private int Roja;
    private int Verde;
    private int Amarilla;
    private int Azul;
    private String [] colindantes = new String [5];
    private String guardarCol;
    
    public Ciudades(String nombre, String[] colindantes, String guardarCol) { // class

        this.nombre = nombre;
        Roja = 0;
        Verde = 0;
        Amarilla = 0;
        Azul = 0;
        this.colindantes = colindantes;
        this.guardarCol = guardarCol;
        } 

        String sql = "INSERT INTO PARTIDA (nombre_usuario, num_rondas, fecha_partida, v_azul, v_amarilla, v_roja, v_verde)"
                + "VALUES ('" + jugador + "', " + ronda + ", SYSDATE ," + azul + ", " + amarilla + ", " + roja + ","
                + verde + ",ciudades(ciudad(" 
                + ciudades.get(0).getNombre() + "," + ciudades.get(0).getRoja() + "," + ciudades.get(0).getVerde() + "," + ciudades.get(0).getAmarilla() + "," + ciudades.get(0).getAzul() + "," + ciudades.get(0).getColindantes() + "," + ciudades.get(0).getguardarCol() + "),"
                        + "ciudad(" + ciudades.get(1).getNombre() + "," + ciudades.get(1).getRoja() + "," + ciudades.get(1).getVerde() + "," + ciudades.get(1).getAmarilla() + "," + ciudades.get(1).getAzul() + ",colindantes(" + ciudades.get(1).getColindantes() + ")," + ciudades.get(1).getguardarCol() + "),"
                        + "ciudad(" + ciudades.get(2).getNombre() + "," + ciudades.get(2).getRoja() + "," + ciudades.get(2).getVerde() + "," + ciudades.get(2).getAmarilla() + "," + ciudades.get(2).getAzul() + ",colindantes(" + ciudades.get(2).getColindantes() + ")," + ciudades.get(2).getguardarCol() + "),"
                        + "ciudad(" + ciudades.get(3).getNombre() + "," + ciudades.get(3).getRoja() + "," + ciudades.get(3).getVerde() + "," + ciudades.get(3).getAmarilla() + "," + ciudades.get(2).getAzul() + ",colindantes(" + ciudades.get(3).getColindantes() + ")," + ciudades.get(3).getguardarCol()
                + ciudades.get(1) + "),ciudad(" 
                + ciudades.get(3) + "),ciudad(" 
                + ciudades.get(4) + "),ciudad(" 
                + ciudades.get(5) + "),ciudad)";

oracle sql:

    create or replace TYPE ciudad AS OBJECT(
    nombre varchar2(25),
    roja number,
    verde number,
    amarilla number,
    azul number,
    colindantesa colindantes,
    guardarCol varchar2(50)
    );

// any ideas on how to do it?

How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum