タグ

ormに関するtgkのブックマーク (28)

  • 9 High-Performance Tips when using MySQL with JPA and Hibernate - Vlad Mihalcea

    9 High-Performance Tips when using MySQL with JPA and Hibernate Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Wouldn’t that be just awesome? Well, Hypersistence Optimizer is that tool! And it works with Spring Boot, Spring Framework, Jakarta EE, Java EE, Quarkus, or Play Framework. So, enjoy spending your time on the things you love rather than fixing pe

    9 High-Performance Tips when using MySQL with JPA and Hibernate - Vlad Mihalcea
    tgk
    tgk 2017/11/08
    Hibernate経由でPreparedStatementを使っているつもりが実は使えていないことがある。useServerPrepStmtsプロパティに注意
  • How we accidentally doubled our JDBC traffic with Hibernate | Plumbr – User Experience & Application Performance Monitoring

    tgk
    tgk 2017/05/29
    本番システムでHibernateのログレベルをERRORからWARNに上げたら、クエリ発行ごとにSHOW WARNINGステートメントを発行するのでDBアクセス数が2倍になり、パフォーマンス障害を起こした
  • SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?

    OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation

    SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
    tgk
    tgk 2012/12/06
    「SQLには部品化の機能がない→ 複数のSQLで要素の重複が多い」「ORMはSQL要素の部品化ができる→複数のSQLで部品を共用できる」
  • Voruta | Unofficial DB2 BLOG

    ここで書きましたが、個人的にJDBCで直接コーディングするのは非効率すぎると思っています。そこで他の方法が必要になるのですが、O/RマッピングツールのようにSQLを遮蔽するのでは無く、コーディング自体を簡単にしてくれるツールや言語というものがあります。そのうちの一つのVorutaに注目しています。 どんな物なのかは上記のVortaホームページを見てもらえば一目瞭然なのですが、簡単に言うとXDocletやJavadocの要領でコメントとしてSQLを書くと、それにそってDBMSにアクセスするメソッド(DAO)を動的に自動生成してくれるという物です。つまり、(Vorutaホームページから引用) /** *@query SELECT COUNT(1) FROM ${1} */ public int count(String tableName); と書くだけで、countメソッドの中は自動的に実装

    Voruta | Unofficial DB2 BLOG
    tgk
    tgk 2012/06/29
  • 第6回 LINQ基礎編(2/3) - @IT

    最も基的なLINQ 最も基的なLINQの構文を見てみよう。以下は、整数(int)の配列の内容を「一切条件を設けず、加工もせずに」にクエリする例である。つまり、元の配列の内容がそのまま得られる(この式に条件や加工処理を肉付けしていくことで、実用クエリに仕上げていくことができる)。 using System; using System.Linq; class Program { static void Main(string[] args) { int[] array = { 1, 2, 3 }; var query = from x in array select x; foreach (int n in query) Console.WriteLine(n); // 出力: // 1 // 2 // 3 } } の行を見ていただきたい。LINQはfrom句で始まり、select句または

    tgk
    tgk 2012/06/28
    「どれほど膨大なデータがヒットするクエリであろうと、クエリ・オブジェクトを作成するだけならほとんど時間はかからないし、メモリも消費しない」
  • ORMがアンチパターンである11の理由

    サンフランシスコのプログラマLaurie Voss氏が書いた見逃せない記事が賑わっています。近年のフレームワークやライブラリの定番中の定番ORマッパーが既にアンチパターンなのではというのが彼の主張です。この記事を書くきっかけになったのはこのツイートだそうです。 I cannot overstate the degree to which ORM is a dangerous antipattern. — Laurie Voss (@seldo) June 9, 2011 ORM が危険なアンチパターンだっていうのはどれだけ言っても言い過ぎることはない このツイートに対して各方面(ActiveRecord, Doctrine, Hibernate)から多くの(激しい)返信が寄せられて書かれたのが問題のエントリです。まずはアンチパターンとは何かの定義として下記の2つを挙げています。 当初は有益

    ORMがアンチパターンである11の理由
    tgk
    tgk 2011/06/18
    ORMを有効に機能させるためにはそれなりのデータ設計が必要だと思う。ORM導入を決めた時点でデータ設計の自由度は失われている
  • ORM is an anti-pattern | Seldo.com

    I tweeted about ORM last week, and since then several people have asked me to clarify what I meant. I have actually previously written about ORM, but it was in the context of a larger discussion about SQL and I shouldn't have confused the two issues. So here I'm going to focus on ORM itself. I'm also going to try to be very brief, since it became very apparent from my SQL article that people tend

    tgk
    tgk 2011/06/17
  • O/RマッパーやActiveRecordによるMVCの誤解

    広木 大地/ エンジニアリング組織論への招待 @hiroki_daichi O/R MapperとりわけActiveRecordによって、Model/Entityの区別がつかない人ってのが増えたうえに意味不明な思い込みでMVC批判してみたりとかMVACとか言い出してる状況に名前をつけたいな。 2011-03-20 15:46:58 広木 大地/ エンジニアリング組織論への招待 @hiroki_daichi Entityとは、システム設計上のデータの一塊としての実体をさしていて、DBのRowとは質的には無関係。ModelはMVCパターンにおいて、Controllerからeventをうけとり、Viewに修正を通知するインタフェースであり、実装としてビジネスロジック/ドメインを持ってる 2011-03-20 15:50:23 広木 大地/ エンジニアリング組織論への招待 @hiroki_dai

    O/RマッパーやActiveRecordによるMVCの誤解
    tgk
    tgk 2011/03/23
  • 第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp

    Shibuya.pm #12連動企画 日開催のShibuya Perl Mongersテクニカルトーク#12のテーマは "No Perl, NoSQL, NoKVS" または "Not only Perl, Not only SQL, Not only KVS" ということなので、今回はそれにあわせてYAPC::Asia 2009でも紹介されていたKiokuDBについて簡単に取り上げてみます。 オブジェクトをまるごと保存する 牧大輔氏も『モダンPerl入門』のなかで、データベースをハッシュテーブルのようにとらえて、「⁠基的にプライマリキーからデータを持ってくる構成のみにすると、ORMを使用することによりキャッシュの導入も含めてチューニングが楽になります」と書いているように、Perlの世界では最近RDBMSやその上位層で頑張りすぎるより、モデリングの仕方そのものを工夫して実装や保守のしや

    第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp
    tgk
    tgk 2009/12/01
  • Annotation Processing APIを使った新しいDaoフレームワーク - taediumの日記

    自分がこれまで関わってきたS2Dao、S2JDBC、Kuina-Daoを踏まえて、Annotation Processing APIを利用した新しいDaoフレームワークを作ってみることにしました。ちょっとアイデアをさらしてみる。 特徴は、次の3つです。 脱黒魔術(AOP(プロキシやバイトコードエンハンス)の代わりにソースコードを生成)。 インタフェース中心(DaoだけでなくEntityもインタフェース)。 ドメイン(値の定義域)中心。 ちょっと例を見てください。 ユーザーが作成するのは1つのテーブルにつきEntityクラスとDaoクラスの2つだけです。 Entityクラス @Entity public interface Employee { @Id IntegerDomain id(); StringDomain name(); Salary salary(); } Daoクラス @Da

    Annotation Processing APIを使った新しいDaoフレームワーク - taediumの日記
    tgk
    tgk 2009/05/05
    アプリ用のカスタムDomainを作れます/カスタムDomain のいいところはロジックを持たせられることです。これはエンティティ自体にロジックがあるよりも便利。特定のエンティティに紐づいているわけではないので
  • 第1回 DBFluteの概要 | gihyo.jp

    はじめに JavaにおけるDBアクセス周りの実装は、アプリケーション開発において非常に問題の多い領域です。数多くのO/Rマッパが登場していますが、現場の要件を満たせるものはまだまだ少ないかと思います。 そのような状況の中、DBFluteは誕生しました。稿では、このDBFluteが一体どういったもので、現場の問題に対してどのように解決をしていくか、基から応用まで紹介していきます。 今回のターゲットとする言語はJavaですが、実はDBFluteはC#版も存在します。ほぼ同じ仕様で実現されていますので、文法的な違いだけを読み替えることでC#ユーザの方にもお楽しみ頂ける内容かと思います。 前提とするテーブル構造 これからの説明で登場するサンプルの実装では、図1のテーブル構造を前提として話を進めていきます。 図1 サンプルのテーブル構造(詳細は、こちらをご覧ください) DBFluteの概要(1)

    第1回 DBFluteの概要 | gihyo.jp
    tgk
    tgk 2009/02/03
  • https://www.itarchitect.jp/issue/-/113549.html

    tgk
    tgk 2008/11/03
    ★何だこれは
  • 複数の ActiveRecord オブジェクトをまとめて扱う - ursmの日記

    台北市立動物園と迪化街めぐり 子連れ台湾#5 年越し台湾旅行5日目、レジャーや友人との事を楽しむ日です。前日の様子はこちら www.oukakreuz.com 台北市立動物園へ パンダ館 パンダが見られるレストラン 迪化街へ 林茂森茶行でお茶を購入 小花園で刺繍グッズを購入 黒武士特色老火鍋で夕 台北市立動物園へ 松…

    複数の ActiveRecord オブジェクトをまとめて扱う - ursmの日記
    tgk
    tgk 2008/10/07
  • JPA Hibernateの使いどころ - TYAGE EMOTION

    ブログのキーワード等で色々な人の考えを読んだ限りでは、Hibernateは複雑で使いにくいという人が多いし、JPAは微妙だと言う人が多いと感じています。それは間違いではないと思います。SQLを発行したいという目的に対しては、JPA・Hibernateは複雑すぎますし、SQLベースのORMに比べてSQL実行処理が使い易いわけではありません(特にJPAのSQLの使い辛さは致命的です)。CRUD処理ではSQLをほぼ自動発行できますが、そのレベルの処理ならば、今はどのORMも標準機能として持っています。 ではこれらのFWは要らないものなのでしょうか? 自分はたまたま仕事上でHibernateを複数回使い、その特長が最近になってようやく解ってきました。たしかに複雑で、初心者にとって敷居の高いFWです。Entityの状態変更とかLAZYロードとか、よく解ってないとすぐにハマってしまいます。 でもその一

    JPA Hibernateの使いどころ - TYAGE EMOTION
    tgk
    tgk 2008/06/20
    やっぱり流行ってなかったんだ>「結果セットではなくERモデルそのものを基盤とするJPA・Hibernate」
  • http://neta.ywcafe.net/000733.html

    tgk
    tgk 2007/05/21
    何か荒れそうだ
  • Matzにっき(2007-03-02)

    << 2007/03/ 1 1. [Ruby] Rubyist Magazine - Rubyist Magazine 0018 号 2. ストレートタイプのスマートフォン「NOKIA E61」レポート 3. ITmedia エンタープライズ:TopCoderで世界と渡り合う日IBMの異才 - 夷藤勇人 4. My Sleepless Nights in the Big Apple: Apple、サブノート市場へ再参入へ 5. ITmedia Biz.ID:失敗しないプロジェクトマネジメント -- AppleはてなGoogleに学ぶ3つのヒント 6. 平成19年度「情報大航海プロジェクト(モデルサービスの開発と実証)」に係る委託先の公募について 7. [言語] PyCon 2007 Review 8. [Ruby] deep_science:Re:バザール「オープンソース、そして「R

    tgk
    tgk 2007/03/09
  • データ中心指向とオブジェクト指向

    オブジェクト指向プログラミングと対比されるものとして、手続き型のほかに、データ中心指向があります。データ中心指向は、大量のデータを扱う業務アプリケーションで適用される方法論で、機能や処理を中心に考えるのではなく、データを中心に考えていくアプローチです。機能や処理に比べてデータは不変であるため、データが重要な意味を持ってくる業務アプリケーションでは、この考え方が適しています。 オブジェクト指向との違いは何かというと、簡単に言えば、オブジェクトを中心に考えるか、データベースを中心に考えるかの違いです。 ドメインを中心に考えている点では、どちらも一緒です。ドメインとは、アプリケーションが解決しようとしている問題領域のことです。ドメインを明確にする際、モデルが作成されます。モデルは、その問題領域で扱うデータを構造化し、関連を明確にし、アプリケーションの質的な部分、骨子を明確にしていくものです。そ

    tgk
    tgk 2007/01/26
    ORM否定派の意見
  • JPAの問題点 - ひがやすを blog

    JPAには非常に期待している人も多いでしょう。私もその一人です。実際にプロジェクトで使ってみて、見えてきた問題点を書いてみます。JPAの実装としては、Hibernate3.2を使っています。 学習コストが高い。 JPAの全機能のうち、プロジェクトで使うものに絞り込んで教育すると、3日程度で教えることができるのですが、そこそこ使えるようになるには、2〜4週間かかります。これは、Hibernate in Actionにも書いているのでそういうものなんでしょう。 トラブルシューティングが難しい。 多くのプロジェクトで実際にハマルのはこれでしょう。うちのプロジェクトでは、Hibernate職人である小林さんがいるにもかかわらずいろいろ苦労しました。Hibernate職人のいないプロジェクトで使うのは厳しいのではないかと思います。 SQLの扱いが貧弱。 JPQLは、SQLのかなり貧弱なサブセットなの

    JPAの問題点 - ひがやすを blog
    tgk
    tgk 2007/01/12
  • 近況 - steps to phantasien t(2006-11-23)

    2006-11-23 近況 Java でアプリケーションを作っている. 足回りが動いたのでアプリっぽくしようとデータベースをつなぎだしたが ... かったるい. RDB の出てこないコードを書いていた昨日までは快調だったのに, 今日 SQL がでてきた途端に意欲がガタ落ち. このかったるさの原因はなんだろう. 思いあたる節はある. まず RDB はなんとなく仕事っぽい. 趣味らしさを損なう. あと, ここしばらく ORM considered harmful 仮説に与して Hibernate なんかを使っていない. (かわりに Spring JDBC Template を利用.) その結果お約束コピペコードが増えて萎える. アンチ ORM 派の主な主張は, 実世界のデータモデルが持つ複雑さを ORM では吸収しきれない (結局普通に RDB を使うのと大差がなくなる) というものだ. でも

    tgk
    tgk 2006/11/24
    LINQは意外と大したことない
  • 2006-06-12

    今日の早耳ムスメは南明奈ちゃん,お題は「対戦国をべつくせ!! ワールドカップグルメ」. 早耳もワールドカップモードですか. 早耳っていうか,めざまし時計もユニフォーム着てるし. そういえば,98 フランス大会の時の日−アルゼンチン戦をアルゼンチン産のワインを飲みながら観戦したことを思い出しました. 02 日韓大会のアルゼンチン−イングランド戦を見ていた時に彼女からお別れメールが飛んできて,試合がその後どうなったか記憶に残ってないことも思い出した (苦笑). あ,その彼女と今も続いてますよ,念のため. っていうか,いつの間にか占いも終わってた.アッキーナよく見なかったけどまぁいいや. 某巨大掲示板へのレス. あっちに書こうかと思ったけど長くなるからこっちへ. っていうか,以前のスレであっちに書かずにこっちへ書けって言われたからこっちなのだ (←根に持ってる). 380 名前:デフォルトの

    2006-06-12
    tgk
    tgk 2006/10/27
    entityクラスという発想に無理があるからこういう問題が起きる、という例