Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database

2,143 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,143
On SlideShare
0
From Embeds
0
Number of Embeds
1,206
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database

  1. 1. Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database
  2. 2. もくじ ① SQL Database インスタンスの作成 ② JDBC ドライバの配置 ③ データソースの設定 ④ persistence.xml の配置 ⑤ EJB ロジックの記載
  3. 3. Windows Azure 上に以下のデータベースインスタンス を作成しておく
  4. 4. もくじ ① SQL Database インスタンスの作成 ② JDBC ドライバの配置 ③ データソースの設定 ④ persistence.xml の配置 ⑤ EJB ロジックの記載
  5. 5. http://msdn.microsoft.com/en-us/sqlserver/aa937724 にアクセスして JDBC ドライバを取得する
  6. 6. 展開したアーカイブから sqljdbc4.jar を抜き出し C:¥Oracle¥Middleware¥Oracle_Home¥wlserver¥server¥lib に配置する
  7. 7. C:¥Oracle¥Middleware¥Oracle_Home¥wlserver¥com mon¥bin¥commEnv.bat を以下を参考に編集 IF NOT DEFINED MW_HOME ( IF NOT DEFINED WL_HOME ( echo MW_HOME or WL_HOME is not set IF DEFINED USE_CMD_EXIT ( EXIT 1 ) ELSE ( EXIT /B 1 ) ) ) IF NOT DEFINED MW_HOME set MW_HOME=%WL_HOME%¥.. FOR %%i IN ("%MW_HOME%") DO SET MW_HOME=%%~fsi CALL "%MW_HOME%¥oracle_common¥common¥bin¥commEnv.cmd" set WEBLOGIC_CLASSPATH=%WEBLOGIC_CLASSPATH%;%WL_HOME%¥server¥lib¥sqljdbc4.jar
  8. 8. もくじ ① SQL Database インスタンスの作成 ② JDBC ドライバの配置 ③ データソースの設定 ④ persistence.xml の配置 ⑤ EJB ロジックの記載
  9. 9. Services > Data Sources を選択 後で使うので JNDI Name を覚える MS SQL Server を 選択
  10. 10. 画像を参考にドライ バタイプを選択
  11. 11. グローバルトランザクション はどうせ使えないので外す
  12. 12. SQL Database の情報を追記
  13. 13. JDBC ドライバの jar が上手く配置出来 ていないと以下のエラーが出る
  14. 14. データソースを結び付けるサーバを選択 するので、当然チェックを追加
  15. 15. この辺まで来ればデータソースの設定完了
  16. 16. もくじ ① SQL Database インスタンスの作成 ② JDBC ドライバの配置 ③ データソースの設定 ④ persistence.xml の配置 ⑤ EJB ロジックの記載
  17. 17. EJB プロジェクトの META-INF/persistence.xml を以 下の例を参考に作成 <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="em" transaction-type="JTA"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <jta-data-source>JDBC_Data_Source</jta-data-source> </persistence-unit> </persistence>
  18. 18. もくじ ① SQL Database インスタンスの作成 ② JDBC ドライバの配置 ③ データソースの設定 ④ persistence.xml の配置 ⑤ EJB ロジックの記載
  19. 19. テーブルと O/R マッピングする Entity の作成例 import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(schema = "dbo", name = "Eroge") public class Eroge implements Serializable { @Id @Column(name = "Id") private int id; //getter/setter、他のプロパティ略
  20. 20. O/R マッピングのロジック例 mport javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @Named @Stateless public class IndexLogic { @PersistenceContext private EntityManager em; public List<Eroge> doLogic() { System.out.println("!!!! do logic"); List<Eroge> resultList = em.createQuery("select k from Eroge k", Eroge.class).getResultList(); return resultList; } }

×