Re: "create type" custom types not supported by JDBC
От | Roy Smith |
---|---|
Тема | Re: "create type" custom types not supported by JDBC |
Дата | |
Msg-id | 475279DC.8050109@primetext.com обсуждение исходный текст |
Ответ на | "create type" custom types not supported by JDBC (Roy Smith <roy.smith@primetext.com>) |
Список | pgsql-jdbc |
Thanks for the pointer Kris. It's now working. For the sake of anybody trying the same, here's what I did ... In the database:- create type couk_cleverthinking_gwappo_db_Money as (local_value numeric(11,2),mnemonic char(3), exchange_rate numeric(9,5),base_value numeric(11,2)); CREATE TABLE prices (price couk_cleverthinking_gwappo_db_Money); insert into prices values(ROW(100,'PHP',.943,0.94)); select * from prices; price ---------------------- (100.00,PHP,0.943,0.94) My Custom class is:- public class Money extends PGobject implements SQLData, Serializable{ public Money() { setType("couk_cleverthinking_gwappo_db_money"); } public Money(String _value) { setType("couk_cleverthinking_gwappo_db_money"); ... stuff ... } ... stuff ... } To use it I do :- Connection conn = DriverManager.getConnection(url, userName, password); ((PGConnection) conn).addDataType("couk_cleverthinking_gwappo_db_money",Class.forName("couk.cleverthinking.gwappo.db.Money")); Money m2 = new Money("(100,USD,0.534,0.53)"); PreparedStatement pst; pst = conn.prepareStatement("insert into prices values(?)"); pst.setObject(1,m2); I do have a follow up question about how this might all work in a JPA layer (Oracle Toplink). That's another post :-) Many thanks Kris Jurka wrote: > On Sat, 1 Dec 2007, Kris Jurka wrote: >>> Poking around the source code of AbstractJdbc2Connection it looks >>> like this functionality isn't support. Perhaps an "Unsupported >>> feature" error would be more helpful than a ClassCastException. > I've put a fix for this into CVS.
В списке pgsql-jdbc по дате отправления: