タグ

ブックマーク / taedium.hatenadiary.org (4)

  • Maven2.2.0は複数の-Aオプションに対応していない - taediumの日記

    javacでAnnotation Processroにオプションを渡す場合-Aが使えるのですが、Mavenではオプションが複数ある場合に対応できていない、という話。 Antではこう書けます。 <javac fork="yes" srcdir="${src}" compiler="javac1.6" classpathref="classpath" destdir="${build}" debug="on" encoding="UTF-8" > <compilerarg line="-Adto.generation=true -Adto.package=hoge.dto"/> </javac> dto.generation=true というkey/valueのペアと dto.package=hoge.dto というkey/valueのペアの2つがわたされるのです。 しかし、Mavenだと、複

    Maven2.2.0は複数の-Aオプションに対応していない - taediumの日記
  • NullPointerExceptionなどの標準例外を使っていないわけ - taediumの日記

    Domaでは、Daoのメソッドに期待されない引数(nullとか)が渡された場合に例外をスローしますが、そのときの例外にNullPointerExceptionやIllegalArgumentExceptionを使っていません。代わりに、DomaNullPointerExceptionやDomaIllegalArgumentExceptionといったDoma独自の例外を投げます。 これはなぜかというと、Daoのメソッドに対する事前条件を満たしていないのか、それともDoma自身にバグあって例外がスローされてしまっているのをわかりやすくするためです。 つまり、DomaNullPointerExceptionやDomaIllegalArgumentExceptionがスローされるということは、「これはDomaが意図的にスローしています。なんらかの条件を満たしていません。」というメッセージです。そし

    NullPointerExceptionなどの標準例外を使っていないわけ - taediumの日記
    Naruhodius
    Naruhodius 2011/03/05
    ほむ
  • SQLの自動生成機能をもたないわけ - taediumの日記

    Domaは検索系のSQLを自動生成する機能(APIで組み立てる機能)をもっていません。ではどうするかというと、外部化したSQLファイルとDaoのメソッドをマッピングし、ファイルに記述されたSQLを実行します。外部化したファイル内では、条件分岐をサポートし部分的に動的なSQLを組みたてられるようにしています。 Domaが検索系のSQLを自動生成する機能をもっていないのは、なぜかというと、 自動で生成できるのは比較的単純なSQLだけであり表現力豊かなSQLは生成できない 自動生成をアプリから制御するための仕組みが複雑になりがち 自動生成できないSQLはどうしてもでてくるが、そのとき自動生成だけでなんとか解決しようしてトラブルになりやすい 自動生成を使うべきかSQL指定の方法を使うべきか人によって判断がまちまちになって設計がぶれやすくなる ファイルに外部化されたSQLのほうが仕様書と突き合わせて

    SQLの自動生成機能をもたないわけ - taediumの日記
    Naruhodius
    Naruhodius 2011/03/05
    ほむ
  • JDBC、S2JDBC、S2Dao、JPA(Hibernate)、Domaのパフォーマンス比較 その2 - taediumの日記

    前回につづいてパフォーマンス比較をしてみました。ただし、前回と測定方法変えてます。最適化された状態で計測するため1プロセス内で同じ処理を3回実行して最後の値を取る、ということをそれぞれのテストケースで3回実行して真ん中の値を使っています。 コードや使用しているライブラリはリポジトリにあります。 https://www.seasar.org/svn/sandbox/doma/trunk/or-mapper-benchmark/ SQLファイルに記述されたSELECT文を使って10000件検索 22,200,648 (nanoTime) : DomaSqlFileSelectDtoTest 39,252,773 (nanoTime) : S2DaoSqlFileSelectDtoTest 68,378,980 (nanoTime) : S2JdbcSqlFileSelectDtoTest 自動

    JDBC、S2JDBC、S2Dao、JPA(Hibernate)、Domaのパフォーマンス比較 その2 - taediumの日記
  • 1