Bice da si u pravu
U bazi sam kreirao sledeci tip:
CREATE TYPE adresa AS (
ulica character varying(25),
broj character varying(7)
);
Funkcija u bazi obavlja unos po primljenim parametrima (radi ok kad se poziva iz baze):
BEGIN
INSERT INTO zaposleni (sifrazaposlenog, ime, prezime, adresaprebivalista, mestoprebivalista)
VALUES (_sifrazaposlenog, _ime, _prezime, ((_adresaprebivalista).ulica, (_adresaprebivalista).broj), _mestoprebivalista);
END
Kolona adresaprebivalista je kor. definisan tip adresa.
Kada pozivam iz jave koristim sledecu funkciju:
public void callSPInsert(String sifra, String ime, String prezime,
adresa adresaprebivalista, String mestoprebivalista) throws SQLException {
CallableStatement cs = conn.prepareCall("{call zaposleni_insert(?, ?, ?, ?, ?)}");
cs.setString(1, sifra);
cs.setString(2, ime);
cs.setString(3, prezime);
cs.setObject(4, adresaprebivalista);
cs.setString(5, mestoprebivalista);
cs.execute();
}
1. Kriticna tacka tip parametra funkcije callSPInsert - adresa koji je definisan u bazi (java ga ne prepoznaje)
2. Druga krit. tacka cs.setObject(4, adresaprebivalista)
E sada mapiranje, niz ili ne znam sta...
Drugi problem sporedan za ovu temu je kada pretrazujem po adresi prebivalista iz jave. Mogu pretrazivati samo ako zadam i ulicu i broj npr ... WHERE adresaprebivalista = ('ulica', 'broj') ..., a hteo sam samo po ulici recimo (adresaprebivalista.ulica = 'nesto') sto ne ide. U bazi prihvata.
Obzirom sam u Javi odnedavno malo se mucim...
Postoje 11 grupe ljudi ... oni koji znaju binarne brojeve, oni koji ne znaju i oni koji ponekad smisle neki glup slogan.