2019/01 JSUG勉強会の資料です。 この資料でDisっているのはJPAではなく、 ・何も考えずに「標準だから」というだけでJPAを選ぶ人 ・OSSに全くコントリビュートせずにフリーライドする人 です。Read less
![Java ORマッパー選定のポイント #jsug](https://cdn-ak-scissors.b.st-hatena.com/image/square/1fe44b2cf47ecfe107554a67cb54625e6089ef8e/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fjsugor-mapper-190131110611-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
JSUG勉強会 2019その1 Spring Data JDBC正式リリース記念!データアクセス特集 https://jsug.doorkeeper.jp/events/86027
SchemaCrawler Free database schema discovery and comprehension tool SchemaCrawler is a free database schema discovery and comprehension tool. SchemaCrawler has a good mix of useful features for data governance. You can search for database schema objects using regular expressions, and output the schema and data in a readable text format. The output serves for database documentation, and is designed
このエントリでは、Grzegorz Gajosによる記事、How Hibernate Almost Ruined My Careerを紹介する。 (Grzegorzから和訳と転載の許可は得た。) 以下はその全文の和訳だが、意訳超訳が混じっているので、もとのニュアンスを知りたければ元記事を読んでもいいし、読まなくてもいい。 想像してくれ。 君はJava開発者で、次のビッグプロジェクトを開始しようとしているところだ。 君は、そのプロジェクト全体に影響する根本的な決断をする必要がある。 君の柔軟なデータモデルをオブジェクト指向で抽象化するベストな方法を選択したい。生のSQLを扱いたくはないからね。 どんな種類のデータもサポートしたいし、理想では全種のデータベースをサポートしたい。 すぐに思いつくのは、単にHibernateを使うという解だ。そうだろ? Javaディベロッパの90%は君に同意するだ
DBのデータ量が増えてきた場合の対策の1つとしてユーザIDなどをキーにデータベースを分割するシャーディングと呼ばれる手法があります。これをJDBCのレイヤで実現してしまうsharding-jdbcというライブラリを見つけました。 github.com sharding-jdbcは中国のdangdang(当当)というEC大手企業が開発したOSSで、SQLをパースし、SQLに含まれるシャードキーを抽出して接続先のデータベースや、参照するテーブルを切り替えてくれるというものです。 使ってみる まずはpom.xmlに以下の依存関係を追加します。 <dependency> <groupId>com.dangdang</groupId> <artifactId>sharding-jdbc-core</artifactId> <version>1.4.1</version> </dependency>
DACとFGACの併用: 図2は、LOCATIONS表の問合せをおこなう場合の流れを示しています。 図2. DACとFGACによるフロー まず、データベースにおいて、ユーザーがDACに基づく十分な権限を保有しているかどうかを判断します。 HR.LOCATIONSからのデータ選択が許可されている場合、そのユーザーがポリシーを省略する権限を持っているかどうかの確認がデータベースによって実行されます。 ユーザーに特別な権限がない場合、アクセスはポリシーに基づいて仲介されます。 ユーザーが特別な権限を保有している場合、その権限に基づいて仲介が省略されたうえで問合せが実行されます。 サンプル・アプリケーションには、複数のユーザーがログインして同一の問合せをおこなう場合のフローを示すテスト・スクリプト(SQL*Plusで実行)が含まれています。 SQL*Plusを開いて次のように入力し、複数のユーザー
JPAだけで完結するのはさすがにムリがあったのでこういうタイトルにした。が、JPAプロバイダ固有のAPIのレベルではフェッチサイズを変更する効果を確認できた。 JDBCのsetFetchSize変更時の動きをstatspackで見てみる - kagamihogeの日記ではJDBCを直接使用していたが、このエントリではJPAプロバイダ(EclipseLink, Hibernate)固有のAPIを使用して100万行取得するコードの速度を、フェッチサイズ変更無しと100の時とでどのくらい速度差が生じるかを確認する。 環境 DB CentOS-6.4-x86_64 Oracle Database Express Edition 11g Release 2 Java Java SE Development Kit 7u45 Eclipse Kepler(4.3.1) SR1 IDE for Java
昔書いたJDBC経由で100万件取得・追加してみた - kagamihogeのblogでは、JDBCのjava.sql.Statement#setFetchSize(int rows)を変更するとSELECT文の実行速度が改善できる可能性があることを調べた。ここでは、なぜ速度が改善されるかを考える。やることとしては、変更前と後とで、それぞれstatspackのレポートを取得し、それらにどのような差が出るかを見てみる。 環境 DB CentOS-6.4-x86_64 Oracle Database Express Edition 11g Release 2 Java Java SE Development Kit 7u45 Eclipse Kepler(4.3.1) SR1 IDE for Java EE Developers Oracle Database 11g Release 1 JD
最近の更新 (Recent Changes)2012-11-06FrontPage 2012-10-17Facelets 2012-09-25Facelets_Dialog 2012-08-20Facelets_Xhtml Facelets_Download Facelets_Upload 最新リリース情報manjyu (manjyu-0.0.9)2012-11-21 21:12 Wikiガイド(Guide)Wikiの文法 リンクの種類と文法 ブロックプロセッサ 拡張文法 サイドバー プロジェクトWikiでの広告設定 サイドバー (Side Bar)このサイドバーについて このサイドバーの編集 JDBC Driver for MySQL (Connector/J) おすすめ設定使い方MySQL の「JDBC Driver for MySQL (Connector/J)」は、デフォルト設定で
S2JDBCの2WaySQLが利用可能なデータベースアクセスライブラリ、Mirage 1.1.4をリリースしました。 http://amateras.sourceforge.jp/site/mirage/welcome.html 今回の新機能・修正点は以下の通りです。 NameConverterの実装としてRailsLikeNameConverterを追加しました。 PropertyExtractorの実装としてFieldPropertyExtractorを追加しました。 DefaultValueTypeのJDBC 4.0(Java6)への意図しない依存性を修正しました。 SQLファイルの末尾のセミコロンは削除して実行するようになりました。 例外体系を整理しました。 Spring Framework等でvalueTypesを簡単にカスタマイズできるよう、SqlManagerImpl#set
JBoss Advent Calendar 2011の14日目のエントリです。今日はJDBC XAデータソースの説明。 XAってなによ? ツーフェーズコミット(2相コミット, 2PC)するためのインタフェースです。 XAとか2PCってどんなときに使うの? 一つのトランザクションで2つ以上のトランザクショナルリソース(JDBC JCAリソースアダプタ=データベースとか、JMS JCAリソースアダプタとか)を扱う場合に利用します。 XAとか2PCってなんで必要なの? 例えばデータベースが二つ、DB-AとDB-Bがあって、DB-AからDB-Bにデータを移す処理をするとします。このとき、DB-AからSELECTして削除してDB-Bにインサートする、というようなことをするわけですが、この処理が途中で落ちたら即データ消滅、データ重複などのデータ不整合という結果になってしまいます。XAを使うとこういった
現在、仕事でHadoopのサブプロジェクトであるHiveをいじってます。 で、今回、JDBC経由で使ってみたので紹介します。 Hiveのインストールなどの仕方は以下を参照してください。 http://wiki.apache.org/hadoop/Hive/GettingStarted まず、Hiveサーバを立ち上げます。 ポート番号はHIVE_PORTを設定しておけば、変更できます。デフォルトは10000です。 hive --service hiveserver で、以下のようなコードで、HiveにJDBCでアクセスできます。 String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; try { Class.forName(driverName); } catch (ClassNotFoundException e) { e
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く