Hibernate/マッピング定義について
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
Hibernateのマッピング定義についていろいろ調べてみました。...
#contents
**例となるモデル [#je443635]
あるサービスの顧客(Customer)とその担当者(User)というモデ...
***E-R図 [#qa83948d]
#ref(er.png)
CustomerはUserへの外部キーをもつことで担当者を表現してい...
*** テーブル定義 [#n3de2d09]
-describe USER;
+-------+------------------+------+-----+---------+-----...
| Field | Type | Null | Key | Default | Extr...
+-------+------------------+------+-----+---------+-----...
| ID | int(10) unsigned | NO | PRI | NULL | auto...
| NAME | varchar(45) | YES | | NULL | ...
+-------+------------------+------+-----+---------+-----...
2 rows in set (0.00 sec)
-describe CUSTOMER;
+---------+------------------+------+-----+---------+---...
| Field | Type | Null | Key | Default | Ex...
+---------+------------------+------+-----+---------+---...
| ID | int(10) unsigned | NO | PRI | NULL | au...
| NAME | varchar(45) | YES | | NULL | ...
| USER_ID | int(10) unsigned | YES | MUL | 0 | ...
+---------+------------------+------+-----+---------+---...
3 rows in set (0.00 sec)
-show create table USER;
CREATE TABLE `USER` (
`ID` int(10) unsigned NOT NULL auto_increment,
`NAME` varchar(45) character set ujis default '',
PRIMARY KEY (`ID`)
)
-show create table CUSTOMER;
CREATE TABLE `CUSTOMER` (
`ID` int(10) unsigned NOT NULL auto_increment,
`NAME` varchar(45) character set ujis default '',
`USER_ID` int(10) unsigned default '0',
PRIMARY KEY (`ID`),
KEY `FK52C76FDE65079CAA` (`USER_ID`),
CONSTRAINT `FK52C76FDE65079CAA` FOREIGN KEY (`USER_ID`)...
)
***JavaBeansとhbm.xmlファイル [#j4e88693]
-User.java
public class User implements java.io.Serializable {
// Fields
private int id;
private String name;
private Set customers = new HashSet(0);
public String toString() {
return new ToStringBuilder(this).append("id", getId(...
getName()).toString();
}
getter/setterは省略
}
-User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hiberna...
"http://hibernate.sourceforge.net/hibernate-mapping-3.0....
<!-- Generated 2006/11/12 9:58:17 by Hibernate Tools 3.2...
<hibernate-mapping>
<class name="nu.mine.kino.entity.User" table="USER" ca...
<comment></comment>
<id name="id" type="int">
<column name="ID" />
<generator class="increment" />
</id>
<property name="name" type="string">
<column name="NAME" length="45">
<comment></comment>
</column>
</property>
<set name="customers" inverse="true">
<key>
<column name="USER_ID">
<comment></comment>
</column>
</key>
<one-to-many class="nu.mine.kino.entity.Customer" />
</set>
</class>
</hibernate-mapping>
-Customer.java
public class Customer implements java.io.Serializable {
// Fields
private int id;
private User user;
private String name;
public String toString() {
return new ToStringBuilder(this).append("id", getId(...
getName()).append("担当者", getUser()).toString();
}
getter/setterは省略
}
-Customer.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hiberna...
"http://hibernate.sourceforge.net/hibernate-mapping-3.0....
<!-- Generated 2006/11/12 9:58:17 by Hibernate Tools 3.2...
<hibernate-mapping>
<class name="nu.mine.kino.entity.Customer" table="CUST...
<comment></comment>
<id name="id" type="int">
<column name="ID" />
<generator class="increment" />
</id>
<many-to-one name="user" class="nu.mine.kino.entity....
<column name="USER_ID">
<comment></comment>
</column>
</many-to-one>
<property name="name" type="string">
<column name="NAME" length="45">
<comment></comment>
</column>
</property>
</class>
</hibernate-mapping>
*** hibernate.cfg.xml [#q6603fdc]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuratio...
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">o...
<property name="hibernate.connection.username">xxxx<...
<property name="hibernate.connection.password">xxxx<...
<property name="hibernate.connection.url">jdbc:mysql...
&characterEncoding...
<property name="hibernate.dialect">org.hibernate.dia...
<mapping resource="nu/mine/kino/entity/User.hbm.xml"...
<mapping resource="nu/mine/kino/entity/Customer.hbm....
</session-factory>
</hibernate-configuration>
**いろいろテスト [#mf512739]
#ls2
**関連リンク [#x36e27cb]
-[[第11章 HQL: Hibernateクエリ言語>http://www.hibernate.o...
----
この記事は
#vote(おもしろかった[6],そうでもない[3])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
Hibernateのマッピング定義についていろいろ調べてみました。...
#contents
**例となるモデル [#je443635]
あるサービスの顧客(Customer)とその担当者(User)というモデ...
***E-R図 [#qa83948d]
#ref(er.png)
CustomerはUserへの外部キーをもつことで担当者を表現してい...
*** テーブル定義 [#n3de2d09]
-describe USER;
+-------+------------------+------+-----+---------+-----...
| Field | Type | Null | Key | Default | Extr...
+-------+------------------+------+-----+---------+-----...
| ID | int(10) unsigned | NO | PRI | NULL | auto...
| NAME | varchar(45) | YES | | NULL | ...
+-------+------------------+------+-----+---------+-----...
2 rows in set (0.00 sec)
-describe CUSTOMER;
+---------+------------------+------+-----+---------+---...
| Field | Type | Null | Key | Default | Ex...
+---------+------------------+------+-----+---------+---...
| ID | int(10) unsigned | NO | PRI | NULL | au...
| NAME | varchar(45) | YES | | NULL | ...
| USER_ID | int(10) unsigned | YES | MUL | 0 | ...
+---------+------------------+------+-----+---------+---...
3 rows in set (0.00 sec)
-show create table USER;
CREATE TABLE `USER` (
`ID` int(10) unsigned NOT NULL auto_increment,
`NAME` varchar(45) character set ujis default '',
PRIMARY KEY (`ID`)
)
-show create table CUSTOMER;
CREATE TABLE `CUSTOMER` (
`ID` int(10) unsigned NOT NULL auto_increment,
`NAME` varchar(45) character set ujis default '',
`USER_ID` int(10) unsigned default '0',
PRIMARY KEY (`ID`),
KEY `FK52C76FDE65079CAA` (`USER_ID`),
CONSTRAINT `FK52C76FDE65079CAA` FOREIGN KEY (`USER_ID`)...
)
***JavaBeansとhbm.xmlファイル [#j4e88693]
-User.java
public class User implements java.io.Serializable {
// Fields
private int id;
private String name;
private Set customers = new HashSet(0);
public String toString() {
return new ToStringBuilder(this).append("id", getId(...
getName()).toString();
}
getter/setterは省略
}
-User.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hiberna...
"http://hibernate.sourceforge.net/hibernate-mapping-3.0....
<!-- Generated 2006/11/12 9:58:17 by Hibernate Tools 3.2...
<hibernate-mapping>
<class name="nu.mine.kino.entity.User" table="USER" ca...
<comment></comment>
<id name="id" type="int">
<column name="ID" />
<generator class="increment" />
</id>
<property name="name" type="string">
<column name="NAME" length="45">
<comment></comment>
</column>
</property>
<set name="customers" inverse="true">
<key>
<column name="USER_ID">
<comment></comment>
</column>
</key>
<one-to-many class="nu.mine.kino.entity.Customer" />
</set>
</class>
</hibernate-mapping>
-Customer.java
public class Customer implements java.io.Serializable {
// Fields
private int id;
private User user;
private String name;
public String toString() {
return new ToStringBuilder(this).append("id", getId(...
getName()).append("担当者", getUser()).toString();
}
getter/setterは省略
}
-Customer.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hiberna...
"http://hibernate.sourceforge.net/hibernate-mapping-3.0....
<!-- Generated 2006/11/12 9:58:17 by Hibernate Tools 3.2...
<hibernate-mapping>
<class name="nu.mine.kino.entity.Customer" table="CUST...
<comment></comment>
<id name="id" type="int">
<column name="ID" />
<generator class="increment" />
</id>
<many-to-one name="user" class="nu.mine.kino.entity....
<column name="USER_ID">
<comment></comment>
</column>
</many-to-one>
<property name="name" type="string">
<column name="NAME" length="45">
<comment></comment>
</column>
</property>
</class>
</hibernate-mapping>
*** hibernate.cfg.xml [#q6603fdc]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuratio...
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">o...
<property name="hibernate.connection.username">xxxx<...
<property name="hibernate.connection.password">xxxx<...
<property name="hibernate.connection.url">jdbc:mysql...
&characterEncoding...
<property name="hibernate.dialect">org.hibernate.dia...
<mapping resource="nu/mine/kino/entity/User.hbm.xml"...
<mapping resource="nu/mine/kino/entity/Customer.hbm....
</session-factory>
</hibernate-configuration>
**いろいろテスト [#mf512739]
#ls2
**関連リンク [#x36e27cb]
-[[第11章 HQL: Hibernateクエリ言語>http://www.hibernate.o...
----
この記事は
#vote(おもしろかった[6],そうでもない[3])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: