以下に示す小さな休止状態アプリケーションについて、私が理解できないことがいくつかありmapping xml
ます。
<class name="pojo.Ghazal" table="ghazal">
<id name="s_no">
<generator class="increment" />
</id>
<property name="poem" />
<property name="poet" />
<map name="map" table="linked" cascade="all">
<key column="s_no" />
<index column="key_" type="string" />
<many-to-many column="val_" class="pojo.Singer" />
</map>
</class>
<class name="pojo.Singer" table="singer">
<id name="s_no">
<generator class="increment" />
</id>
<property name="singer_name" />
<property name="country" />
</class>
との 2pojos
つがGhazal
ありSinger
ます。クラスのマッピングは理解できSinger
ますが、クラスのマッピングは理解できませんGhazal
。
次のプログラムを実行すると:
Configuration config = new Configuration().configure();
SessionFactory sessFact = config.buildSessionFactory();
Session sess = sessFact.openSession();
Transaction trans = sess.beginTransaction();
Ghazal ghazal = new Ghazal();
Singer singer = new Singer();
singer.setCountry("Pakistan");
singer.setSinger_name("Mehdi Hasan");
Singer singer_1 = new Singer();
singer_1.setCountry("India");
singer_1.setSinger_name("Jagjit Singh");
HashMap map = new HashMap();
map.put("key_1", singer);
map.put("key_2", singer_1);
ghazal.setPoem("Woh Jo Hum Mein Tum Mein Qarar Tha");
ghazal.setPoet("Momin Khan Momin");
ghazal.setMap(map);
sess.save(ghazal);
trans.commit();
データは 3 つのテーブル、つまり に自動的に保存されますghazal, linked, singer
。クラスsinger
のオブジェクトのみをコミットしている間、データはどのようにテーブルに格納されますか?ghazal
そして、タグは何ですか:
<many-to-many...>
する?