かとじゅんの技術日誌

技術の話をするところ

S2JDBC

S2JDBCをS2非依存にしてみた

みなさま、こんばんわ。 非DIコンテナの世界で使いやすいORM OSGi上で使い勝手のよさそうなORMを探しているんですけど、いいものがないですね。 ORMといえばS2JDBCなんだけど。SQLがメソッドチェーンでかけてIDEでリファクタリングできるのはあまりにもメリ…

マージ完了

ブランチからトランクへのマージは規模がでかいと結構気合のいる作業ですね(汁 ということで、トランクにマージしてコミットしました。 (一応はUTはパスしているのですが、org.escafe.buri.common.participantprovider.implのUTが抜けていたのですがまだテス…

S2Dao用のUnit Testもパスした

従来からあるS2DaoのUTもパスするようになりました。 これで、BuriがS2Daoでも、S2JDBCでも、DBFluteでも動作することが可能になりました。 いよいよ、Trunkへのマージを検討したいと思います。

BuriがS2JDBCに完全対応

先に紹介したS2JDBCToDataAccessRuleで既存のBuriでもS2JDBCのServiceクラスをS2DaoのDaoの変わりに使えることはすでに実現していましたが、Buri内部のテーブルのアクセスにはまだS2Daoを使っていました。BURI系のテーブルです。 今回、S2Daoを取り除きS2内…

BuriをS2JDBC対応にしてみる その6

追記: 単なるテストケースの写し間違いだった。。。 datas = billBao.getEndBill(); assertEquals(0, datas.size()); が正解。。。とりあえず、BaoAnnotationTestは通るようになったがBuriSignalTestが通ってない。がんばるぞっっと。。。-沖縄から帰還して…

BuriをS2JDBC対応にしてみる その5

その4の問題は解消できました。他のUTも徐々に通るようになってきました。で、今回は、 org.escafe.buri.dao.util.BuriStateUtilTest のテストが全滅な件wログ見ると、 DEBUG 2009-03-17 11:08:03,204 [main] update BURI_TEST_INT set VALUE = 'hoge', VER…

BuriをS2JDBC対応にしてみる その4

S2Daoのjarを取り除いてJUnitを通すことを目標にして、いろいろいじくっていますが当然デグってます。org.escafe.buri.dao.util.BuriDataUtilTestのtestDataUtilTxで以下のような例外がでている状況。なんだろう原因wsetupPkeyでif (util instanceof DataAcc…

BuriをS2JDBC対応にしてみる その3

id:makotan、ありがとう!なんとかユニットテストが通るようになりました。 基本的には、S2JDBCのServiceクラスをDaoに見せるように修正した感じ。 次はサンプルアプリをS2JDBC用に書き換えてテストしてみる。最終的にはS2Daoのjarを依存関係から外して使え…

BuriをS2JDBC対応にしてみる その2 

とりあえず、S2JDBCToDataAccessRule を実装してみたけど、testDataFieldType08と、testDataFieldType09で 以下の例外が発生してしまった。うーん、何がわるいんだろう。。。test用にs2jdbc.diconや、allTestService.diconを読み込むようにしたつもりですが…

BuriをS2JDBC対応にしてみる その1

BuriはS2DaoもしくはDBFluteを前提としているのですが、S2JDBCも対応できんじゃね?というid:imai78せんせからアドバイス受けたのでいろいろ調べてみた。とりあえず、BuriDataFieldProcRuleインターフェイスの実装をS2JDBC用に作ればよいのかな。 S2DaoToDat…

ふたがわさんのブログを読んでS2JDBCをタイプセーフにする件について

ひがさんのブログでも紹介あるとおりなんですが、 これまでは、joinするプロパティ名とwhereメソッドに記述する条件、orderByメソッドの引数を、エンティティの構造を見ながら間違えないように気をつけて書いていたのですが、以下のブログの記事を読めばタイ…

次のバージョンでわかりやすい関連プロパティ名とAbstractEntityが使えるようになります。

id:taediumさんの力でS2JDBC-Genがどんどんよくなってきています。(以下の話は現行のリリース版ではなく、SVNのTrunkにあるバージョン,つまり次期バージョンで試した結果になります。ご注意を) わかりやすい関連プロパティ名 https://www.seasar.org/issue…

S2AsbtractServiceの使い方について

以下について誤解のないように書いておきます。 シンプルな問い合わせは、メソッドにしない。Serviceクラス使ってる意味なくね?aaSerivce.selectById(aaId);というように、ID指定で取得するような問い合わせは、selectById()メソッドを作らず、aaService.se…

AbstractServiceにgetCountByConditionを作ってみる(汗

どのエンティティでも件数を数えるのは要件としてあるので,getCountByConditionを作ってみました.追記: 小林さんご指摘のとおり hogeService.select().where("prefId = ?", 1).getCount(); で件数取得できました... or2 ヘタコイタ... JdbcManagerってよくでき…

S2AbstractServiceにselectBySqlメソッドがない...

S2AbstractService#selectでどうしても実現できない問い合わせはJdbcManager#selectBySqlを呼びたくなります. AbstractServiceにselectBySqlを追加しましたが,これってS2AbstractServiceにあってもいいような気がしますが,どうでしょうか? public abstra…

EntityDescを使いたい

エンティティのアノテーションやプロパティの属性に合わせて汎用的なDMLを作りたいのですが、EntityDescが使えそうかなと思った次第ですが、普通に読んだら ぬるぽ が ぬるっとでますた。。。 根本的に使い方がわかってないorz java.lang.NullPointerExcepti…

S2JDBCでエンティティを自動生成するには

おつおつです! えー、S2JDBCに移行を始めて数日。だいぶ理解が進みました。 で、やっぱりエンティティは手で書いてられません。ということで、自動生成ツールを調べてみました。 s2jdbc-gen DBFlute for S2JDBC 私が調べたところ、この二つ。 s2jdbc-gen こ…

業務で使い始め

S2JDBCよりDBFluteをよく使っていたのですが、今回S2JDBCに触れる機会ありました。 DBFluteやS2DaoはDaoパターンのO/Rマッパーで、S2JDBCはSQLパターンというのでしょうか。もちろん、流れるようなインターフェイスが魅力の一つですが、それよりテーブルに対…