■ダウンロード
http://hibernate.org/orm/
5.2.2
・Struts2に関連するJARファイルをWEB-INF/libにコピーする。
lib/requiredフォルダの内、jboss以外をコピーする。
hibernate-core-5.2.2.Final.jar
・プロジェクト右クリック-[プロパティ]
→ [Javaのビルド・パス]
[ライブラリー]タブの[Jar追加...]クリック
→ [WEB-INF/src]へコピーしたjarファイルを選択する。
→ OK
■アノテーション
・クラスが永続化可能であることを明示する
@javax.persistence.Entity
・クラスが対応しているテーブルを明示する
@javax.persistence.Table(name=(テーブル名))
・メンバがIDであることを明示する
@javax.persistence.Id
・メンバが対応しているカラムを明示する
@javax.persistence.Column(name=(テーブル名))
■設定ファイル persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 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">
<persistence-unit name="sample" transaction-type="RESOURCE_LOCAL">
<provider>
org.hibernate.ejb.HibernatePersistence
</provider>
<class>
[db-name].sample.User
</class>
<properties>
<property name="hibernate.connection.username" value="[user-name]"/>
<property name="hibernate.connection.password" value="[password]"/>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/[db-name]"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
</properties>
</persistence-unit>
</persistence>
■EntityManager取得
protected EntityManager getEntityManager() {
if (_entityManager == null) {
EntityManagerFactory factory = Persistence.createEntityManagerFactory("sample"); // persistence.xmlに指定した設定名
_entityManager = factory.createEntityManager();
}
return _entityManager;
}
■データ取得
protected User queryUser(String userID) {
EntityManager entityManager = getEntityManager();
Query query = entityManager.createQuery("SELECT u FROM User u WHERE u.id='" + userID + "'");
List users = query.getResultList();
if(users.size() == 0) {
return null;
}
return (User) users.get(0);
}
0コメント