View Full Version : [jdbs]PreparedStatement con tiponon predefinito
nuovoUtente86
20-09-2007, 16:58
Ipotizzando che io abbia una classe Persona[nome,cognome,cf] e vorrei fare query ed update su db di un tipo Persona ho pensato ad una cosa del genere..sempre che sia possibile aggiungere al dbms un tipo non primitivo..
una classe
MyPreparedStatement extends PreparedStatement {
................
............................
metodo setPersona(){......}......}
in modo da fare una cosa del genere..
PreparedStatement ps
ps.setPersona(posizione,Persona)...
fin qui penso possa andare ma come istruisco il database circa il tipo persona?
una classe
MyPreparedStatement extends PreparedStatement {Innanzitutto PreparedStatement è una interfaccia quindi il tuo extends va a farsi friggere. E come seconda cosa la implementazione del PreparedStatement ti viene (e deve essere) fornita da una Connection (perché come puoi immaginare, il PreparedStatement deve essere "specifico" per un certo DBMS).
Poi comunque la soluzione tipica è quella di serializzare un oggetto e metterlo in un campo della tabella di tipo 'binary'.
Purtroppo i database relazionali cozzano un pochino contro un linguaggio ad oggetti.
nuovoUtente86
20-09-2007, 19:12
Innanzitutto PreparedStatement è una interfaccia quindi il tuo extends va a farsi friggere. E come seconda cosa la implementazione del PreparedStatement ti viene (e deve essere) fornita da una Connection (perché come puoi immaginare, il PreparedStatement deve essere "specifico" per un certo DBMS).
Poi comunque la soluzione tipica è quella di serializzare un oggetto e metterlo in un campo della tabella di tipo 'binary'.
Purtroppo i database relazionali cozzano un pochino contro un linguaggio ad oggetti.
uuu è vero è un' interfaccia....si ho saltato parti di codice cmq so di Connection.
Oltre a quella di serializzare l' oggetto esisteno altre soluzioni piu votate alla POO?
Puoi usare le api persistence.
https://glassfish.dev.java.net/javaee5/persistence/
Solo che al posto di SQL ti ritrovi XML che fa schifo uguale. Altrimenti usi una base dati non SQL, ad esempio il meraviglioso Berkeley DB di Oracle ed il suo altrettanto mirabile DPL.
http://www.oracle.com/database/berkeley-db/index.html
Occhio: una volta che lo usi non riesci più a smettere.
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.