タグ

databaseとhibernateに関するlizyのブックマーク (7)

  • 我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!アプリケーション基盤チームの横田(@yokotaso)です! kintoneなどで利用していたJavaフレームワークのSeasarのEOLに伴い、S2Daoからの脱却を試みたのですが、パフォーマンス問題や障害を発生させてしまうなど問題を多々発生させてしまいました。 同じ過ちを繰り返さないという強い決意のもと、今回の失敗をブログで公開いたします。 失敗をあえて公開する点で斬新かつ濃いブログ記事となっております! 失敗体験の公開は恥だが役に立つ! 移行先の選定の失敗 移行先として選定したプロダクトは Hibernate*1です。 Hibernateを選んだ理由としては Spring Framework を選定した Spring Frameworkで Interface + アノテーションでプログラミングするならSpring Data JPA が有力 JPAに準拠したのORMの中でも、H

    我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • Hibernateで覚えるO/RマッピングとBeanの常識

    Hibernateで覚えるO/RマッピングとBeanの常識:Webアプリの常識をJSPとStrutsで身につける(9)(1/3 ページ) 連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPASP.NETRuby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です 前回の「MySQLの常識を知りセットアップしてJSPからDB操作」では、アプリケーション開発におけるデータベースとの連携と、その仕組みを説明しました。 今回は、データベース操作において重要なO/Rマッピングや、長らく連載で触れながら説明できなかった、MVCモデルの「Model」の部分であるBeanについて説明していきます。今回も引き続きMySQLを使用するので、環境作成がまだの読者は前回の記事を参照しておいてくださ

    Hibernateで覚えるO/RマッピングとBeanの常識
  • 詳細なNHibernateマッピング

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    詳細なNHibernateマッピング
  • HibernateでMap<string>なプロパティを扱う方法</string>

    Hibernateを使っていて、ふと困った状況に遭遇。 @Entity @Table(name=”…”) public class Hoge { ・・・ protected Map desc; ・・・ } Hogeエンティティクラスのdescプロパティを永続化させるにはどうしたらいいのだろう?もし、descプロパティが、 protected Map desc; というように、Mapの値が別のエンティティだった場合は、特に問題はない。しかし上記の場合はMapの値がString。これは困った。 Interceptorを自分で作って、onSave()やonFlushDirty()などを実装してstateを入れ替えてみたりして試行錯誤を繰り返すも、残念ながらうまくいかない。そこで、HibernateのForumをいろいろと検索していく中で、同じ話題を発見できた。 [Topic: Map of pr

  • 2008-02-01

    サイオステクノロジーはグルージェントの未来技術に期待し子会社化 サイオースラボみたいな感じかしら。どこかで聞いたような語感ですね。(笑) Seasar2 と Teeda を利用した Web アプリケーションを WebSphere Application Server にデプロイする developerWorksにTeedaをWASにデプロイするための記事が出てます。今後は、定期的にdeveloperWorksに記事を掲載していく予定です。こんなのを書いてほしいとか要望があれば、遠慮なくどうぞ。書くのは私じゃないかもしれないけど(笑)。 「抽象クラスを継承してエンティティ特有のビジネスロジックを実装する」ってことは、そのエンティティは貧血でないドメインオブジェクトってことでしょうか。 SAStrutsの機能リファレンスでは「複数のアクションから共通に使われるような機能は、サービスクラスで実装

    2008-02-01
  • S2JDBC & Hibernateベンチマーク その3 - ひがやすを技術ブログ

    ManyToOneのfetch joinでは、HibernateがS2JDBCの1.6倍、OneToManyのfetch joinは、HibernateがS2JDBCの1.8倍ほど時間がかかっています。これは大体予想通り。 次は、10000件のうち最後の100件をページングで取得する場合です。HibernateがS2JDBCの2倍ほど時間がかかっています。これも大体予想通り。 次は、10000件の挿入。Hibernateはバッチ更新をするようになっているので、S2JDBCもそれにあわせます。結果は、Hibernateがだいたい2.3倍くらい時間がかかっています。まぁ、予想通り。 次は、10000件の更新。Hibernateが12倍くらい時間がかかっています。Hibernateの時間がかかっているのは、永続コンテキストに格納されているエンティティが更新されているのかをチェックしているためです

    S2JDBC & Hibernateベンチマーク その3 - ひがやすを技術ブログ
  • S2JDBC & Hibernateベンチマーク その2 - ひがやすを技術ブログ

    今度は、Addressを10000件取得してみます。Addressは、EmployeeとOneToOneの関連があり、外部キーを持たない非所有者側のエンティティです。 S2JDBC(0.453489233) 0.454608859 0.451351731 0.454507110 Hibernate(26.278606800) 26.353926022 26.258951969 26.222942410 Hibernateは、S2JDBCより約58倍時間がかかっています。HibernateはOneToOneの非所有者側のエンティティを取得するのは苦手です。10001回のSQLを発行してしまうのです。 下記のSQLは最初に1回発行されます。 select address0_.ADDRESS_ID as ADDRESS1_1_, address0_.STREET as STREET1_, add

    S2JDBC & Hibernateベンチマーク その2 - ひがやすを技術ブログ
  • 1