Avere un nome di colonna come parametro di input di un PreparedStatement

Ho già usato la ricerca qui (e anche altri forum) ma non ho trovato una risposta esatta a ciò che sto cercando di fare.

So che può essere fatto facilmente in un altro modo, e questo è solo un piccolo sandbox-framework che sto codificando per un corso universitario … in un ambiente reale vorrei semplicemente prendere Spring, Hibernate, ecc.

Quindi quello che ho fatto è stato codificarmi con un piccolo Data Access Layer generico con POJOs, lavorando con metodi generici per recuperare, controllare o inserire dati nel database (Oracle). La maggior parte di questo viene fatto attraverso PreparedStatements.

Funziona fin tanto che non ho join … è ansible inserire una colonna come parametro?

Esempio:

Table A has Attribute X + others Table B has Attribute Y + others 

PreparedStatement con query SELECT * FROM A,B WHERE "A"."X" = ?

E quindi inserire “B”. “Y” come parametro …

Il database non genera un errore o un’eccezione, ma il ResultSet restituito dopo l’esecuzione dell’istruzione è vuoto. È semplicemente imansible farlo, o mi sto semplicemente perdendo un po ‘di scappato?

Sto usando PreparedStatement.setString(int index, String value) per riempire il parametro … in mancanza di idee quale altro metodo setX potrei usare …

Di nuovo, in un progetto reale non lo scriverei mai da solo, ma piuttosto usare qualcosa come Spring o Hibernate e non reinventare la ruota, ma lo vedo come un esercizio interessante per codificare un tale piccolo e generico livello di accesso ai dati.

No, JDBC non lo consente. È ansible impostare solo i valori delle colonne. Se si desidera apportare modifiche dinamiche all’istruzione sql, sarà necessario farlo prima di creare PreparedStatement.