java - Sql ddl get foreign key information -
i'm doing small web application query database using hibernate , show's in jsp table data received. i`m using dml statements retreives db data.
session session = sessionfactory.getcurrentsession(); query query = session.createsqlquery(sqlquery); query.setresulttransformer(aliastoentitymapresulttransformer.instance); list<map<string, object>> resultsetlist = query.list(); the problem when have table has fk columns. need .. understood sql ddl statement retrieves information fk columns in table, information meaning .. fk column, name of table if refers, , column table refers.
i`ve searched lot found nothing relevant, have idea how should ddl statement ?
thanks lot,
this worked me !
public map<string, list<string>> getfkcolumns(session session, string tablename) { map<string, list<string>> fkmap = new hashmap<string, list<string>>(); try { connection connection = session.connection(); databasemetadata meta = connection.getmetadata(); resultset rs = meta.getimportedkeys(connection.getcatalog(), null, tablename); while (rs.next()) { list<string> fkvalues = new arraylist<string>(); fkvalues.add(rs.getstring("pktable_name")); fkvalues.add(rs.getstring("pkcolumn_name")); fkmap.put(rs.getstring("fkcolumn_name"), fkvalues); } } catch (hibernateexception e) { e.printstacktrace(); } catch (sqlexception e) { e.printstacktrace(); } return fkmap; }
Comments
Post a Comment