並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 2321件

新着順 人気順

daoの検索結果241 - 280 件 / 2321件

  • 段階的に理解する O/R マッピング - Qiita

    はじめに O/R マッピングとは O/R マッピングとは、一言で言えば、オブジェクト指向プログラミング言語においてリレーショナルデータベースのレコードを通常のオブジェクトとして操作する方法である。より詳細な定義を述べるより、実際のコードを見たほうがわかりやすいだろう。以下に、低レベルの JDBC API の利用例と、高レベルの O/R マッピングフレームワークの代表格である JPA の利用例を挙げる。 public List<Issue> findByProjectId(long projectId) { String query = "select id, title, description from issue where project_id = ?"; try (PreparedStatement ps = connection.prepareStatement(query))

      段階的に理解する O/R マッピング - Qiita
    • nextindex.jp

      nextindex.jp 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

      • ent

        Simple, yet powerful ORM for modeling and querying data.

        • MySQL+Java でサーバサイドプリペアードステートメントを使うべきで「ない」理由 - kazuhoのメモ置き場

          useServerPrepStmtsのここの説明ではデフォルトがtrueになっているが、これは上述の通り嘘である。 (中略) そしてなぜfalseにされたかということの背景を察すると、trueにすることの弊害もありそうで、手放しでこれをtrueにすることを勧めることが少しはばかられる。 http://www.geminium.com/chiba_blog/2008/12/23/33/ 自分は Java 使ってないですが、MySQL の中の人が使うなって言ってます *1。その理由はメモリリークのような症状が出る可能性があるから。 So why are prepared statements a problem? Because users do not clean up/close unused prepared statements. Multiply the number of prep

            MySQL+Java でサーバサイドプリペアードステートメントを使うべきで「ない」理由 - kazuhoのメモ置き場
          • Androidクライアントからデータベースサーバーへのアクセス

            現在リリースされているJDBCドライバのほとんどは、OracleのJava環境での動作が想定されており、AndroidのDalvik環境での動作は考慮されていません。実際、動作しないドライバが数多く存在し、Androidでデータベースクライアントを作るのにJDBCを使えばよいとは簡単にはいえない状況です。本稿では具体的なサンプルコードをもとに、それらの状況解決の一助を提供します。 データベースベンダーが提供するJDBCドライバは、Androidでは動作するかどうかは分からない まず、いきなり本連載の目的と結論から書きます。 「Androidアプリケーションの開発言語はJavaなのだから、JDBCドライバを使ってデータベースにアクセスすればAndroid端末をクライアントとしてデータベースサーバーにアクセスできるはずだ」と想像している開発者も多いかもしれません。 しかし、話はそれほど単純では

            • Commons DBCP

              Commons DBCP は、データベースのコネクション・プーリングを扱うライブラリです。 Tomcat で標準採用されています。 動作説明 動作を簡単に説明します。 クライアントから接続要求が発生した場合 … getConnection() 1. DBCPは、プール内に空き接続があるか確認 2. あればそれを返す。この時その接続は アクティブ となる 3. プール内に空き接続が無ければ、新たに接続を作って返す クライアントから切断要求が発生した場合 … conn.close() 1. 切断要求のあった接続をプール内に保管する。この時その接続は アイドル となる 2. もしプール内に maxIdle 以上の接続が溜まったら、それ以上にならないように接続を削除する 接続監視スレッド DBCPには接続監視スレッドというものが存在します。 これは一定時間毎にプール内のアイドル接続をチェックするも

              • 31tools.com : ShareToDo

                Cybozu Labs At Cybozu Labs, designated as the R&D division of the Cybozu Group, we research and develop software technology that supports the next generation products and services, in a midium- to long-term perspective. Projects Block-level WAL for Efficient Backup and Replication iVoca kintone : Recommended Charts Language Detection Library for Java More…

                • MyBatis 使い方メモ - Qiita

                  MyBatis とは SQL と Java オブジェクトを紐付ける永続化フレームワーク。 以前は iBATIS という名前で Apache プロジェクトの1つとして開発されていた。 しかし、 2010年6月に Apache ソフトウェア財団での開発が中止され、現在は MyBatis という名前で開発されている。 SQL 文を完全にコントロールしたい場合に使いやすいらしい。 環境 OS Windows 7 64bit

                    MyBatis 使い方メモ - Qiita
                  • Prisma – The Complete ORM for Node.js & TypeScript

                    Prisma is a next-generation ORM for Node.js and TypeScript. After more than two years of development, we are excited to share that all Prisma tools are ready for production! Contents A new paradigm for object-relational mapping Ready for production in mission-critical apps Prisma fits any stack Open-source, and beyond How can we help? Get started with Prisma Come for the ORM, stay for the communit

                      Prisma – The Complete ORM for Node.js & TypeScript
                    • Slick

                      ScalaSeamless data access for your Scala application — Write Scala code to query your database. Type SafeAll database entities and queries are statically checked at compile-time. Slick is an advanced, comprehensive database access library for Scala with strongly-typed, highly composable APIs. Slick makes it easy to use your database in a way that’s natural to it. It allows you to work with relatio

                      • [Android Tips] ActiveAndroid を使って ActiveRecord ライクに SQLite を操作する | DevelopersIO

                        リレーションシップを作りたい場合は以下のように getMany() メソッドを使って実装します。この場合、Category : Item が一対多のリレーションシップを持ちます。 @Table(name = "Categories") public class Category extends Model { @Column(name = "Name") public String name; public List<Item> items() { return getMany(Item.class, "Category"); } } 保存・更新・削除・クエリ 作成したモデルクラスを使って DB に保存したりクエリで取得したりするには以下のように実装します。これぞ ActiveRecord スタイル。見やすく分かりやすく素晴らしいですね! // 保存 Item item = new Ite

                          [Android Tips] ActiveAndroid を使って ActiveRecord ライクに SQLite を操作する | DevelopersIO
                        • IBM Developer

                          IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

                            IBM Developer
                          • Google App Engine for JavaでMySQLを使ってみる

                            はじめに 米Googleは2011年10月6日、Google App Engine(以下、GAE)から利用できるRDB(リレーショナルデータベース)「Google Cloud SQL」を発表しました。これまでGAEで使用できるデータストアは、いわゆるNoSQLのBigtableだけでしたが、これでNoSQLとSQLの両方が使えるようになった訳で、Googleによれば、RDBはGAEユーザーから最もリクエストが多かった機能だということです。 この記事では、Google App Engine(Java)を使って、クラウド環境下でのRDBの使用方法について解説していきます。 対象読者 Google App Engine for Javaに興味がある方 クラウドでのRDB(リレーショナルデータベース)使用に興味がある方 必要な環境 Eclipse 3.5(Galileo)/3.6(Helios)/

                              Google App Engine for JavaでMySQLを使ってみる
                            • golangでSQLを叩くライブラリまとめ[基本/クエリビルダ/ORM] - Qiita

                              アプリケーションを作る上でデータベースを避けて通ることはできません。その中で最もポピュラーでパワフル(かつ普及している)のはSQLでしょう。 golangでも快適にSQLを操作したい。 このエントリでやること golangでSQLを操作する方法を、「基本(databse/sql)」から、SQLクエリを自動生成する「クエリジェネレータ」、最後に「ORM」という順序で解説します。 ライブラリの特徴などをいくつか抑えていくだけであって、網羅的ではない。雰囲気だけ。 操作方法 基本(database/sql) 標準ライブラリだけを使って頑張る。基本的にSQLを手書きして、変数とのマッピングも手で当てることになる。 sql.(*DB).Exec()を使うと、SQLクエリをそのまま叩ける。プリペアドステートメントはクエリのあとにガシガシ置いていくカンジ。 db, err := sql.Open("sq

                                golangでSQLを叩くライブラリまとめ[基本/クエリビルダ/ORM] - Qiita
                              • hellohiro.com

                                DOMAIN SALE CLICK HERE TO BUY NOW +1 855-646-1390

                                • ゆーすけべー日記

                                  ユーザーからのPOST等された入力値の妥当性をチェックする Validation をどこでやるか問題が個人的にありまして〜、DBを使わないケースならばいわゆるFomrValidator::*を使ってControllerでやればいいのですが、Modelを経由するようなアプリだとControllerだけじゃ不安よねぇ〜、Modelだけ使う時もあるし、Model単体のテストで再現出来ないよね〜なんて思ってます。で、実際の実装をControllerではFormValidator::Lite、Modelの一部にData::Validatorを使っているのですが、なんかコレも効率悪い感じしてたんで、ちょいと実験的に理想の一つを実装してみました。 こんな条件です。 エラーメッセージを簡単に設定したいのでValidationモジュールにはFormValidator::Liteを使う 色々錯誤していたらOR

                                    ゆーすけべー日記
                                  • 第1回 最新DBアクセス・フレームワークの基本的な考え方(1/4) - @IT

                                    ADO.NET Entity Framework概要 ADO.NET Entity Framework(以降、Entity Framework)とは、.NET Framework 3.5からADO.NETに追加された、新しい概念に基づくデータ・アクセス技術である。そして、2010年4月の.NET Framework 4(以降、.NET 4)のリリースに伴い、Entity Frameworkもバージョンアップし、多くの新機能を持つこととなった。 しかし、Entity Frameworkは、これまでのデータ・アクセス技術とは異なるアプローチを採っているため、いま1つ理解しづらい技術だ、と感じる開発者も多いようだ。また、「すでに多くのソリューションが提供されているO/Rマッパーの新種だ」といった的確とはいえない理解も散見される。 本連載では、Entity Frameworkの概要や基本的な考え方

                                    • SinatraからActiveRecord 3を使う(1) マイグレーション - アインシュタインの電話番号

                                      以前SinatraからDataMapperを使う記事を書いたけど、今回はSinatraのO/Rマッパー部分にActiveRecord 3を使ってみる。ActiveRecord 3自体の使い方については、この記事がすごくわかりやすかった。 Sinatraアプリに必要なファイルを用意する まずは、Sinatraアプリを実行するのに必要な最低限のファイル群(Gemfile, config.ru, app.rb)を作成する。今回は基本的にすべてBundler経由で操作するので、システム側にBundlerのgemがインストールされている必要がある。 Gemfile 今回使用するgemはこんな感じ。とりあえずSinatraでActiveRecord 3を使う場合はactiverecordとsinatra-activerecordとsqlite3が必要で、今回使ったバージョンはそれぞれ、3.0.6、0.

                                        SinatraからActiveRecord 3を使う(1) マイグレーション - アインシュタインの電話番号
                                      • IBM DAOを繰り返すな! : Java technology : dW - Japan

                                        IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

                                          IBM DAOを繰り返すな! : Java technology : dW - Japan
                                        • O/R Mapper についてかんがえてみた

                                          元ネタ)http://d.hatena.ne.jp/tokuhirom/20110104/1294170319 昔良くORMを使うことのメリットは SQLを書かなくてよくなる。 つまりプログラマはSQL脳が低いからプログラマにSQLを書かせない。 プログラム中にSQLという別の概念がはいってくるとコードが読み難くなる。 バックエンドのRDBMSの差異を吸収してくれるからバックエンドを気にする必要がない。 さらに、バックエンドのRDBMSを簡単に取替え可能。 プログラマブルにSQLを組み立てしたい。 などと言われることが多いんじゃないでしょうかね。 個人的には最後の「プログラマブルにSQLを組み立てしたい」と言う要件以外は全部 間違っていると思います。 イカ全て自分の視点なだけなので違う意見もあるであろうことを承知で言い切ります。 SQLを書かなくてよくなる。つまりプログラマはSQL脳が低い

                                          • Oracle OpenWorld Unconference with MySQL 復習 - SH2の日記

                                            というわけで、Oracle OpenWorld Unconferenceに参加して発表をしてきました。直前までデータ取りをしていてやはり睡眠不足だったのですが、とても楽しかったです。JPOUGのみなさま、日本オラクルのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 御礼。大盛り上がりの!OTN Unconference powered by JPOUG | oracletech.jp 技術者の憩いの場「OTNラウンジ」で体験したくつろぎと交流のひととき――Oracle OpenWorld Tokyo 2012レポート | oracletech.jp Oracle Database経験者がMySQLの設計思想を知っていろいろ考える会 私のセッションでは、Oracle Database、MySQLそれぞれに対してコネクションプール、およびパラメータのバインド機構が性能に

                                              Oracle OpenWorld Unconference with MySQL 復習 - SH2の日記
                                            • YappoLogs: KVSでORマッパーを使うという事

                                              KVSでORマッパーを使うという事 ケイレキ.jpの中でケイレキ.jpに招待して欲しい人を呼びかけても絶賛スルーされてるYappoです。さて今回は今巷で大人気のKey Value StorageでORマッパーを使う事についてお話するのじゃ。 一般的にORマッパーとはオブジェクトとリレーショナルデータベースをマッピングする為の仕組みの呼び名だと言うのは知られている所です。はい、そうするとKVSってのはハッシュデータベースであるわけなのでおかしいですね。今回の話はData::Model::Driver::Memcachedを使う事を前提としてるので問題が無いのです。なぜなら「data/object mapper」とか書いてあるから。 いわゆるPerlなORマッパーってのは行データをHASHで管理します。それはRDBが一般的に表形式でデータを管理しているからなんだと思います。なんでKVSをオブジ

                                              • Class.forName で DB アクセスできるようになる理由 - すぱいだー日記。

                                                Java の研修で DB(だいたいMDBかな) にアクセスするプログラムを作ることになったとき、講師はほぼ 100% 「JDBC Driver を使用するためには Class.forName を使用します」と言うはず。ただ、呪文のごとく。 で、Class.forName の API を見てみる。 forName(String name, boolean initialize, ClassLoader loader) 指定されたクラスローダを使って、指定された文字列名を持つクラスまたはインタフェースに関連付けられた Class オブジェクトを返します そして疑問が生まれる。「クラスをロードするだけでなんでDBにアクセスできるようになるの?」と。 講師はなぜできるかは説明しない。分かってないってことは無いと思うけど「まだ初心者だから覚えとけばいい」的な感じだろう。 けど、ここは言わせてもらう!

                                                  Class.forName で DB アクセスできるようになる理由 - すぱいだー日記。
                                                • Seasar2 - S2JDBC

                                                  spacer The Seasar Project Site Search Seasar Banner About ホーム ライセンス ダウンロード 課題追跡 ChangeLog 移行ガイド ドキュメント 一覧 セットアップ DIContainer AOP S2JDBC S2JDBCとは チュートリアル セットアップ エンティティ JdbcManager サービスの作り方 タイプセーフAPI その他の機能 S2JDBC-Gen FAQ (全般) FAQ (AOP) Javadoc S2-Framework S2-Extension S2-Tiger モジュール Seasar2 S2-Framework S2-Extension S2-Tiger プロジェクト文書 プロジェクト情報 目次 S2JDBCとは 概要 流れるようなインターフェースと脱CoC 90%のSQLを自動生成する Javaの

                                                  • QuerydslでJPAが思ったよりも捗る - 水まんじゅう2

                                                    先日、 [twitter:@seratch]さんから教えていただいたQuerydslがすごい良かったので記事として書きます。 http://www.querydsl.com/ JPAにおける課題 JPAではJPQLとCriteriaという二つのクエリ記述言語があります。 しかしながら、それぞれ使い勝手という意味では難のあるものでした。 JPQL JPQLは以下のような、SQLライクなクエリ記述言語です。 select new com.github.megascus.EmployeeBean(e.code, e.name, e.age) from Employee as e where name like 's%'SQLライクに記述することができるため、SQLが理解できる人にとっては理解しやすいという利点があります。 しかしながら、JPQL自体はただの文字列で定義する必要があります。 そのた

                                                      QuerydslでJPAが思ったよりも捗る - 水まんじゅう2
                                                    • https://www.itarchitect.jp/issue/-/113549.html

                                                      • DAO:分散自立型組織の革命とその全貌に迫る|Go

                                                        DAOに限らず、様々なテック企業や業界の分析をしているメディアですので、ぜひ原文やThe Generalistを購読することをおすすめします。 著者のMario GabrieleさんのTwitter ↓ DAOs are absorbing the internet. This is true across dimensions: • Talent. Home for the internet's most gifted • Capital. Controlling billions in digital assets • Social capital. Where bright minds meet & collab • Culture. Defining cyber culture Gm, and let's begin 🧵 pic.twitter.com/5etEk4S5Y9 —

                                                          DAO:分散自立型組織の革命とその全貌に迫る|Go
                                                        • nabokov7; rehash : O/Rマッパーはなぜ悪か・2

                                                          December 07, 201215:49 カテゴリプログラミングmysql O/Rマッパーはなぜ悪か・2 前回、「SQLには○○が足りない!よろしくない!そこで...O/Rマッパー!」みたいなスライドを見た気がして、ひどいO/Rマッパーにさんざん苦しめられた記憶がフラッシュバックのように襲ってきて、 フザケンナ!お前らO/Rマッパー大好き族のせいでこっちは!こっちは...どんだけ苦労したか! ってかーっとなって記事書いたら、 「は?最近のO/Rマッパーはそんなアホじゃないし?w」「あ,はい。そうだったんですねー」 みたいな感じで瞬殺されて残念な感じになったw。いや、でもなんか違う、この気持ち、なんだろう。みんなにも伝えたい。なのでもうちょっと書く。 自分のO/Rマッパー不信にはいくつかのレイヤーがあって、いまだにそれがうまく整理できないんだけど、たぶん 1. 現実レベルの問

                                                          • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

                                                            このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

                                                              dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
                                                            • Download

                                                              About Current Version Other Versions Archived Versions About Binary JAR file downloads of the JDBC driver are available here and the current version with Maven Repository. Because Java is platform neutral, it is a simple process of just downloading the appropriate JAR file and dropping it into your classpath. Source versions are also available here for recent driver versions. Current Version 42.4.

                                                              • Goではどんなライブラリがデータベースにアクセスするときにベストか考える - ぷらすのブログ

                                                                この記事はGo5 Advent Calendar 2019の 1 日目の記事です。 はじめに Go のメジャーバージョンはいつの間にか 5 まで到達していたようですね、@p1assです。 Go でデータベースにアクセスするときに使うライブラリはdatabase/sqlや それをラップしたsqlx, gorm, gorpなど様々なライブラリがありますが、皆さんはどのライブラリを使っていますか? おそらく様々な理由があってどれか(ここに挙げられていないものかもしれない)を使っているでしょう。 しかし、それは本当にベストな選択だったのでしょうか? この記事では、Go でデータベースをアクセスする際に、どんな機能が必要かを考えつつ、上に挙げたのライブラリを比較していきます。 あくまでこの記事で述べるのは僕個人の意見ですが、この記事を通して皆さんが改めてライブラリ選定を考えるきっかけになれば幸いです

                                                                  Goではどんなライブラリがデータベースにアクセスするときにベストか考える - ぷらすのブログ
                                                                • jOOQ と Flyway で立ち向かう、自社サービスの保守運用 #jjug_ccc #ccc_ab1

                                                                  jOOQ と Flyway で立ち向かう、自社サービスの保守運用 #jjug_ccc #ccc_ab1

                                                                    jOOQ と Flyway で立ち向かう、自社サービスの保守運用 #jjug_ccc #ccc_ab1
                                                                  • Chapter 8. Testing

                                                                    IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP, AOT.

                                                                    • オブジェクト関係マッピング - Wikipedia

                                                                      オブジェクト関係マッピング(英: Object-relational mapping、O/RM、ORM)とは、データベースとオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法である。オブジェクト関連マッピングとも呼ぶ。実際には、オブジェクト指向言語から使える「仮想」オブジェクトデータベースを構築する手法である。オブジェクト関係マッピングを行うソフトウェアパッケージは商用のものもフリーなものもあるが、場合によっては独自に開発することもある。 背景[編集] オブジェクト指向プログラミングでは、データ管理タスクは一般に単純なスカラー[要曖昧さ回避]ではない値を持つオブジェクトを操作するよう実装される。例として、1人の人物に0個以上の電話番号と0個以上の住所が対応している住所録での住所検索を考えてみよう。オブジェクト指向的な実装では、「人物オブジェクト」に住所録の内

                                                                      • 0=>1フェーズの技術的負債を解消する第一歩@バックエンド編 - カミナシ エンジニアブログ

                                                                        こんにちは、株式会社カミナシのエンジニア @imu です。 はじめに 我々のサービス『カミナシ』をローンチしてから、今年の夏で丸2年を迎えます。 私は『カミナシ』のプロダクト開発初期メンバーの1人でした。当時会社の残りランウェイ(残資金で運営できる期間)が極端に短いという厳しい時間的制約のなかで高速にプロダクトを作り上げたことを誇りに思う一方、その代償としての技術的負債は今も解消しきれずに残っています。 継続的に寄せられるお客様からの機能開発要望や、ユーザー数が増えた結果発生しはじめた不具合への対処に時間をとられ、それら技術的負債の根本的な解消には、これまで会社として注力することができていませんでした。今年に入ってから既存ユーザーにも影響が出てしまうような問題の発生が徐々に目立ちはじめています。 この状況をカイゼンすべく、私たちはバックエンドの技術的負債を解消する第一歩を踏み出しました。

                                                                          0=>1フェーズの技術的負債を解消する第一歩@バックエンド編 - カミナシ エンジニアブログ
                                                                        • 現状Cloudflare WorkersでGraphQLサーバを構築するならコレ

                                                                          結論 Cloudflare WorkersでGraphQLサーバを立てて普通に動く TCPでのデータベース接続も問題ない(ベータなので使ってると何かあるかもしれないが) Node.js互換は完全ではないので、Node.jsが必要な処理はオリジンサーバを用意するのが吉 動機 Cloudflare WorkersはCDN上のプロキシやRemixやNext.jsのレンダリング用のバックエンドとして使うというようなことが多いです。フロントエンドからデータ取得や更新するためのAPIとなると別のバックエンドサーバを立てて、構築するのがほとんどだと思います。 自身も漏れなくそのパターンでNode.jsでバックエンドサーバを立てることが多いですが、そうなると簡単に建てれるCloud Runを初手で選ぶのですが、Cloud Run自体は素晴らしいサービスなんですが、更に欲が出てくるのが人間です。 デプロイを

                                                                            現状Cloudflare WorkersでGraphQLサーバを構築するならコレ
                                                                          • DAOの悪夢 - PHPでデータベースを扱う(1)

                                                                            最近、昔の自分が書いたコードをメンテしているのですが、何というか、「ええい、誰じゃこのコードを書いたのは!!」と叫んでは「…4年前の俺でした…」とセルフツッコミを繰り返しています。すごく読みにくいコードで、ストレスたまりまくりです。そのため、「今ならどう書くか」をよく考えました。ちょっと長くなるかもしれませんが、アンチパターンとして解説したいと思います。 DAOパターンについて 私が鬱々としてメンテしているコードですが、データベースとのやり取りを行うためのクラスです。当時意識していませんでしたが、改めて見ているとDAOパターンを再現しているものでした。 DAO(Data Access Object)とはデザインパターンの一種で、データベースへのアクセスロジックを集約したクラスのことです。有名なGang of Fourによる23種の基本デザインパターンには直接含まれていませんが、Facade

                                                                              DAOの悪夢 - PHPでデータベースを扱う(1)
                                                                            • HIBERNATE - Relational Persistence for Idiomatic Java

                                                                              • TomcatとOracle間のコネクションプーリングに関するトラブルシューティング - 日記のような何か

                                                                                Tomcatでコネクションプーリングを使用していて、Tomcat <-> Oracle間の接続がFINやRSTパケットによる通知なしに切られた場合、プールしている接続が実際には死んでいる状態が発生する。例えば、以下のような場合に発生する。 APサーバー <-> DBサーバー間のFirewallによるセッション切断 DBサーバーのリブート(Windows Server 2008の場合。他は未確認) なお、Windows Server 2008で試した限りではOracleサービスの再起動やshutdown、startupの場合は発生しなかった。おそらくFINまたはRSTパケットが飛んでいると思われる。 一度、この状態に陥ると、その後ネットワークやDBサーバーが復旧しても死んだ接続がプールに残り続け、その接続を使用したTomcatのスレッドはSQLを実行する処理でOracleからの応答をずっと待

                                                                                  TomcatとOracle間のコネクションプーリングに関するトラブルシューティング - 日記のような何か
                                                                                • Introduction to DBIx::MoCo - naoyaのはてなダイアリー

                                                                                  YAPC::Asia 2008 で OR マッパの DBIx::MoCo について発表しました。DBIx::MoCo は最近のはてなのサービスで利用しているバックエンドのソフトウェアで、Ruby 風のリスト操作や memcached による透過的なキャッシュなどをサポートしています。 http://bloghackers.net/~naoya/ppt/080516introduction_to_dbix_moco.ppt にて発表資料を公開しています。

                                                                                    Introduction to DBIx::MoCo - naoyaのはてなダイアリー