第九章 關係映射 組件關聯映射
組件是針對同一張表中的字段進行映射,作用是將字段多的一張表分成多個實體類來表示。
如:name與user
user表中有first_name及last_name。在實體類中,自定義一個Name類來表示first_name與last_name;
Name實體類:
package cn.framelife.mvc.entity; public class Name { 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 setLastName(String lastName) { this.lastName = lastName; } }
User實體類:
package cn.framelife.mvc.entity; import java.io.Serializable; public class User implements Serializable { private Integer id; private Name name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Name getName() { return name; } public void setName(Name name) { this.name = name; } }
User.hbm.xml:
<hibernate-mapping> <class name="cn.framelife.hibernate.entity.User" table="user" catalog="hibernate"> <id name="id" type="java.lang.Integer"> <column name="id" /> <generator /> </id> <component name="name" > <property name="firstName" column="first_name"></property> <property name="lastName" column="last_name"></property> </component> </class> </hibernate-mapping>
增加操作:
tx = session.beginTransaction(); Name name = new Name(); name.setFirstName("111"); name.setLastName("2222"); User user = new User(); user.setName(name); session.save(user); tx.commit();
最後更新:2017-04-03 18:52:08