Seasarの技術情報を2chで求めるのはやめなさい - yvsu pron. yas
どこで質問するかなんて本人の好きにさせなよ、なんて思うわけですが。
試しに検索してみて思ったのですが、そもそもPostgreSQLのbytea(バイナリデータ型らしい)に対応しているかなんていう(たぶん)初歩的な疑問に対して、Googleでの検索やThe Seasar Project上で情報が出てこないということは問題なのでは。
また、テストケースのソース嫁でもいいんだけど、せめてそのソースがどこにあるのか明示してほしい、というのが1ユーザとしての声です。
というわけで、そのテストケースがどこにあるか調べてみました。
テーブル作成SQL
CREATE TABLE LARGE_OBJECT(ID NUMERIC(8) NOT NULL PRIMARY KEY, NAME VARCHAR(10), LARGE_NAME TEXT, BYTES BYTEA, LARGE_BYTES OID, DTO BYTEA, LARGE_DTO OID);
https://www.seasar.org/svn/s2container/trunk/s2jdbc-it/sql/create_postgre.sql
テストケース
/** * * @throws Exception */ public void testLargeObject() throws Exception { byte[] bytes = new byte[10000]; for (int i = 0; i < bytes.length; i++) { bytes[i] = (byte) 'b'; } char[] chars = new char[10000]; for (int i = 0; i < chars.length; i++) { chars[i] = 'c'; } LargeObject.MyDto dto = new LargeObject.MyDto("bar"); LargeObject lob = new LargeObject(); lob.id = 1; lob.name = "hoge"; lob.largeName = new String(chars); lob.bytes = new byte[] { 'f', 'o', 'o' }; lob.largeBytes = bytes; lob.dto = dto; lob.largeDto = dto; jdbcManager.insert(lob).execute(); lob = jdbcManager.from(LargeObject.class).id(1).getSingleResult(); assertEquals("hoge", lob.name); assertEquals(new String(chars), lob.largeName); ArrayAssert.assertEquals(new byte[] { 'f', 'o', 'o' }, lob.bytes); ArrayAssert.assertEquals(bytes, lob.largeBytes); assertEquals(dto, lob.dto); assertEquals(dto, lob.largeDto); }