この記事の主な研究は、次のように、Hibernateコンポーネントマッピングの関連コンテンツです。
コンポーネントアソシエーションマップの属性は、エンティティクラスではなく、複雑なタイプの永続的なクラスです。つまり、この属性に対応するデータベースにテーブルはありませんが、このクラスの属性は持続する必要があります。
たとえば、外国人の名前はFirstNameとLastNameに分割されます。
public class myname {private string firstName; private string lastName; public string getFirstName(){return firstName;} public void setFirstName(String firstName){this.firstname = firstName;} public string getlastName(){return lastname;} public void lastname(String lastname {string lastname {string lastname {string lastname {注:これは、データベースにマッピングされないコンポーネントクラスであり、人の名前フィールドに対応します。
パブリッククラスのPeople {private integer pid;/*名前はmynameクラス、つまりコンポーネントアソシエーション*/private myname name; public integer getpid(){return pid;} public void setpid(integer pid){this.pid = pid;} public myname getname(){return name(} public void;} public void;} 名前;}}注:名前フィールドは、コンポーネント(MyName Class)Associationを通じて実装されます。
<?xml version = "1.0"?> <!doctype hibernate-mapping public " - // hibernate/hibernateマッピングDTD 3.0 // en" "http://hibernate.sourceforge.net/hibernate-mapting-3.0.dtd"テーブル= "T_People"> <id name = "pid"> <generator/generator // id> <! - マッピングプライマリキーをコンポーネントに介してマッピング - > <コンポーネント= "name name name =" firstName "/> <プロパティ名=" lastName "/> </component> </class> </hibernate-mapping> </
注:コンポーネント関連は、<component>タグを介してマッピングされます。
public void testsave1(){/*セッションと物を定義します*/セッションセッション= null;トランザクショントランザクション= null; try {/*sension*/session*/session = hibernateutils.getsession(); transaction = session.begintransaction();/*名前を作成*/myname = new new myname(); myname.setfirstname( "george"); myname.setlastname( "Washington");/*人を作成して属性を作成します*/People People = new People(); people.setname(myname); session.save(people);/*submit things*/transaction.commit();} catch(expering e){e.printstacktrace(); transaction.rollback();}最後に{hibernateutils.closessess(session);}}}上記は、この記事のHibernateコンポーネントマッピングコードのすべての詳細な説明です。すべての人に役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!