読者です 読者をやめる 読者になる 読者になる

Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

NetBeans 8.2のSQL Profiler機能

ふとTwitter眺めていたら以下情報が流れてきました。Blogged: #NetBeans SQL Profiler - Take it for a Spin! https://t.co/TS1MsFUPxI #Java #JavaEE— Josh Juneau (@javajuneau) May 3, 2016NetBeans SQL Profilerとな!せっかくなので、私もnightly build…

JPAのCDI Entity Listenersを試してみた

久しぶりにJPAネタです。Java EE 7のJPA 2.1からEntity ListenerでCDIが利用できるようになりました。EclipseLinkの例だと@EJBで書かれてます。 EclipseLink/Release/2.5/JPA21 - Eclipsepediaこの例だと、うーんロガーをわざわざEJBでかぁ…(^^;という感じが…

jta-data-source名に__pmが付けられてエラーとなる

これ、ハマってる方がいるのかわからないのですが、自分は結構ハマったのでメモ。手元の環境は Windows 8 Pro(64bit) JDK 7u67 NetBeans 8.0.1 GlassFish 4.1 で、Java DB(Derby)のテーブルからNetBeansの自動生成機能でエンティティ・クラス作ったりした…

Querydslを触ってみる

今のJava EE開発では、JPQLを書く際 動的クエリ(Dynamic Query) 名前付きクエリ(Named Query) を使うようにしていて、本来、型のことなど考えるとCriteriaで書くべきだなんだろうな…と思いつつ、可読性や簡易性を優先して上記選択にしています。ただ、どうし…

Java EEを利用したオフラインWebシステム構築にChallenge! ~その2~

昨日の続きです。Java EEを利用したオフラインWebシステム構築にChallenge! ~その1~上記のような仕組みでJava EEで構築したシステムをオフライン化してるのですが、昨日も書いたようにオンラインとオフラインで異なるデータベースを利用しています(^^;ここ…

Java EEを利用したオフラインWebシステム構築にChallenge! ~その1~

少し前に「オフラインのWebシステム構築」を調査・検証・プロト作成することになりました(^^;実際に動くモノがだいぶ形になったので、少しずつ書いていこうかなと。まずは、そもそもなんでそんなことをすることになったか…の背景から整理してみます。 オフラ…

はじめてのWindows Azure ~NetBeansのコード生成でJPAからSQLデータベースへ~

昨日書いた はじめてのWindows Azure ~SQLデータベース作成からNetBeansでの接続まで~ にて、AzureでSQLデータベースを生成して、NetBeansのデータベースサービスと簡単に連携できました。ということは、ここからNetBeansの自動生成機能を使えば簡単にデー…

今更ながらJPAの楽観ロックを確認してみました

色んなところで既に書かれてるので、今日のは完全に自分向けのメモ(^^;JPAの楽観ロック、知識としては知っていたのですが試したことなくて、ちょうどやる必要が出たので、まずは簡単なサンプルで確認してみました。営業系のシステムをイメージして、商談デー…

JDOM2で生成したXMLをJPAでXML型に突っ込む

前に自分で書いたJPAでDBのXML型を扱う関連の DBのXMLデータ型なるものをJPAで扱える???お試し編 ですが、その後、以下のとても参考になる情報を頂きました(^^; しんさんの出張所「RDBでXMLを扱う」 で、先日、Javaで単純なXMLを出力する関連で JDOM2でXM…

DBのXMLデータ型なるものをJPAで扱える???お試し編

今日のはモヤっとした投稿になります…(^^; 2013/7/7追記 と書いてたのですが、モヤっとしてたことを「しんさんの出張所」ブログの以下記事が色々と明確にして下さいました(^^;ありがとうございます。RDBでXMLを扱う http://d.hatena.ne.jp/shin/20130706 次…

EclipseLinkでレベル2キャッシュの削除

今日は細かいテストをしていて「あれ?」という挙動があり、詳しく追っていった所、EclipseLinkのキャッシュ関連でした。そしてずっとハマっていました(-_-;本当はスモールな再現コードを作ってのせようと思ったのですが、時間が足りず作れていないので、と…

EclipseLinkで一意制約の例外を拾ってみたけど…

JPAの実装としてEclipseLink(2.3.2)を利用しているのですが、とある画面の仕様で、単純な保存失敗だけではなく、一意制約で保存失敗したよ、というのまで拾う必要があって、まぁ、それはそんなことは簡単じゃろいと思ったのですが…これがなかなか…(-_-;調べ…

JPQLで自己結合

開発の中で、自己結合(Self Join)したいケースがあって、JPQLでどう書くのかやってみました。 今回、あまり調べず試行錯誤してしまったので、あっているかあまり自信ない…(-_-;とりあえず簡単なサンプルを作って確認しました。テーブルは以下のような定義で…

DataTableにEntityのリストを直接紐づけた際の表示順制御

だいぶしょうもないですが、少しだけ迷いが発生したのでメモ(^^;PrimeFacesで一覧を作る際、DataTableのvalue属性にリストをEL式で紐づけます。 通常、検索系画面などではJPQLでDBから引く際にORDER BYするので、初期の表示順は特に問題になりません。ただ検…

JPA2.0のJPQLではON句が使えない

知らなかった…JPA2.0ではON句が使えないのですね…ということでメモ。 JSR317のドキュメントで外部結合のところをみると例えばLEFT JOINでは以下の例があります。 ※OUTERはオプションなので記述なくても同じ SELECT c FROM Customer c LEFT OUTER JOIN c.orde…

JPAを利用していてDBスキーマ変更が発生したら…

JPA

今回Java EE6開発にあたってDB周辺はJPA(実体はEclipseLink)を利用しています。 ORマッパーは賛否ありますが、(個人的には)慣れるとやっぱり便利だよなー、と(^^;もちろん性能などは要注意ですが。 (なので性能面に関しては前に書いたエントリ「JPQLを利用す…

JPQLインジェクションを確認してみました

Java EE6を学んで、JPAを学んで、JPQLを知ったとき「Native Queryを使っていない場合、通常のSQLインジェクションされにくいよなぁ」と個人的に思ったりしたことがあります(^^;JPQL構文で攻撃する人は少ないだろうなと。でもそんな甘い考えが通じない世界な…

JPQLを利用する際に行っていること

今回の開発では初めてJava EE6を触り、初めてORマッパーを触るので、DBまわりや性能は結構気になる所です(^^;ちょくちょく「ORマッパー使うなんて危ないねぇ」なんて周囲にも言われたりもしますが、JPAやEclipseLinkをキーワードに海外での情報も多く、Java …

JPAで複合主キー・外部キー関連で諦めてしまったパターン

以下のようなテーブル(とあるテーブルを抜粋してシンプルにしたもの)をJPAでEntityをNetBeansから自動生成して、デプロイしようとしたらエラーとなりました。Caused by: Exception [EclipseLink-7220] (Eclipse Persistence Services - 2.3.2.v20111125-r104…

JPAのINSERTでEclipseLinkのbatch-writingを試してみました

今日は開発メンバからJPAに関して「XXテーブルに明細データとして保存時に50~100レコードくらい追加する処理があるんですけど、for文で回せばいいんすかね?」と聞かれました。 そういえば金魚本には一括更新と一括削除はあったけど、一括INSERTってなかっ…

JPQLのLIKE式で%や_を含んだ検索をする

開発が進んで、いよいよJPQLの世界にどっぷり入っていく必要がありそうです。 今の開発では、動的クエリをメインに利用する方針にしています。間違い防止やスキーマ変更に強くするためにもCriateria APIを利用したい所ですが、業務系のシステムではクエリが…

NetBeans7.3で嬉しかったこと!

2/21にNetBeans7.3がリリースされました。 TwitterのTLで多くの人が早速触っているので、自分もお試しで入れて触ってみました。まだ十分触れていないのですが、ちょっと触っただけでこれは嬉しい!というポイントが2つあったので以下にまとめます。 嬉しい…

JPAでEntityからテーブルスキーマを生成する方法を教えて頂きました!

今日は午後からOracleで開催された「WebLogic Server 12c Forum 2013~ Java EEの現在と未来、WebLogicが拓く新たな可能性 ~」に参加してきました。今週はJenkins勉強会、Java x HTML5 Nightと参加したので、週3でOracleに…(^^;セミナー内容は明日にでも簡…

EclipseLinkのログ出力でギブアップしたこと…

なんか初めて諦めてしまったことな気がします…(-_-; EclipseLinkのログ出力でやりたかったこと 去年のエントリ「EclipseLinkのログをSLF4J&Logbackにて出力したい」で、JPQLのクエリからEclipseLinkで生成された実クエリをログ出力できることを確認しました…

EclipseLinkのログをSLF4J&Logbackにて出力したい

現在O/RマッパーとしてEclipseLinkを利用しています。初めてO/Rマッパーを使うので不慣れなところが色々あるのですが、ログ出力もその1つです。現在、気になっている所としては ・O/RマッパーのログはGlassFish側のログファイルではなく、SLF4J&Logbackを使…

ディープコピー in JPA

2013/5/21追記 後々、このブログで書いたやり方はやめました(^^; 最終的には 過去に書いた「ディープコピー in JPA」の訂正 で書いた方式を採用しています。 プロト開発ではJPAを利用してデータベースを操作しています。 ORマッパーは初めて利用するので、ま…