如:department与employee
employee中有一个department_id的外键
Department:
public class Department implements Serializable {
private Integer id;
private String name;
public Department() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Employee:
public class Employee implements Serializable {
private Integer id;
private String name;
private Department department;
public Department getDepartment() {
return department;
}
public void setDepartment(Department department) {
this.department = department;
}
public Employee() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Department.hbm.xml:(与普通的映射文件一样)
<hibernate-mapping>
<class name="cn.framelife.hibernate.entity.Department" table="department"
catalog="hibernate">
<id name="id" type="java.lang.Integer">
<column name="id" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="45" not-null="true" />
</property>
</class>
</hibernate-mapping>
Employee.hbm.xml:
<hibernate-mapping>
<class name="cn.framelife.hibernate.entity.Employee" table="employee"
catalog="hibernate">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="name" length="45" not-null="true" />
</property>
<many-to-one name="department" column="department_id"></many-to-one>
</class>
</hibernate-mapping>
增加:
transaction = session.beginTransaction();
Department department = new Department();
department.setName("bb");
session.save(department);
Employee employee = new Employee();
employee.setDepartment(department);
employee.setName("li");
session.save(employee);
transaction.commit();
查询:
查询employee的时候可以得到外键关联的department对象。
分享到:
相关推荐
在多对一连接表单向关联中,多个实体(子实体)与一个实体(父实体)相关联,这种关联通过第三个表(连接表或关联表)来实现。 **表结构示例**: - **Department表**: - `departmentid`: 主键 - `departmentName`...
Mybatis还支持关联映射,如一对多、多对一的关系映射。例如,如果`User`类还有一对多的`Address`关系,可以使用`<collection>`标签: ```xml <!-- ... --> <!-- ... --> ``` 此外,Mybatis提供了自动...
例如,@OneToOne 可用于表示一对一关系,@ManyToOne 和 @OneToMany 用于多对一和一对多关系。 4. **外键约束:** 在数据库层面,这些关联通常通过外键实现。Hibernate允许在映射文件或注解中指定外键的生成策略。 ...
"hibernate_many2many_2"这个文件名可能是指一个关于Hibernate多对多关联的示例或教程的第二部分,可能包含配置文件、Java实体类、映射文件以及相关的测试代码。 **详细知识点:** 1. **实体类定义**:在Hibernate...
9. **缓存机制**:理解Hibernate的第一级缓存(Session缓存)和第二级缓存(可选,如EHCache),它们如何影响一对多关联的读写操作。 10. **性能考虑**:在设计一对多双向组合关联时,要考虑到查询效率、内存消耗等...
在IT领域,键盘映射是一种技术,允许用户自定义或...总之,“按键映射3.1随意映射键盘按键”是一个强大的工具,让使用者能够根据自己的需求定制键盘,提高工作效率,同时也展现了IT行业对用户体验的重视和持续创新。
3. **实体类(Entities)**:阐述了如何定义表示数据库表的实体类,以及如何定义它们之间的关系,如一对一、一对多、多对多。 4. **查询(Linq to Entities)**:展示了如何使用Linq(Language Integrated Query)...
通过谢希仁编著的《计算机网络》第八版第九章内容,我们可以了解无线网络和移动网络的基本概念、技术和相关标准。 首先,无线局域网(WLAN)可以根据是否有固定基础设施分为两大类:有固定基础设施的和无固定基础...
12.4.9 多对多双向关联的annotation注解实现545 12.4.10 组成关系映射的annotation注解实现547 12.4.11 继承关系映射的annotation注解实现549 12.4.12 hibernate集合映射的annotation注解实现552 12.5 基于...
题目中指出,映射可能是多对一的关系,即B中的元素可以对应A中的多个元素,但A中的每个元素在B中必须有且仅有一个象。 4. **映射的表示与计算**:映射可以通过函数关系式来表示,如题目中的f:x→x²或者f:x→x+y...
映射的性质,如一对一、一对多、多对一和多对多映射,以及逆映射、复合映射的概念都会被详细解释。 第三章“关系”涵盖了关系的定义、性质和分类,如自反性、对称性、传递性和反传递性。此外,关系的闭包、关系的度...
第7章 映射一对多关联关系 7.1 建立多对一的单向关联关系 7.1.1 元素的not-null属性 7.1.2 级联保存和更新 7.2 映射一对多双向关联关系 7.2.1 元素的inverse属性 7.2.2 级联删除 7.2.3 父子关系 7.3...
第7章 映射一对多关联关系 7.1 建立多对一的单向关联关系 7.1.1 元素的not-null属性 7.1.2 级联保存和更新 7.2 映射一对多双向关联关系 7.2.1 元素的inverse属性 7.2.2 级联删除 7.2.3 父子关系 7.3...
第7章 映射一对多关联关系 7.1 建立多对一的单向关联关系 7.1.1 元素的not-null属性 7.1.2 级联保存和更新 7.2 映射一对多双向关联关系 7.2.1 元素的inverse属性 7.2.2 级联删除 7.2.3 父子关系 7.3...
【CsGL纹理映射】是基于C#编程语言利用CsGL库实现OpenGL图形库中的纹理映射技术。OpenGL是一个跨语言、跨平台的编程接口,用于渲染2D、3D矢量图形,而CsGL是.NET框架下的一个OpenGL封装库,使得C#开发者也能方便地...
第7章 映射一对多关联关系 7.1 建立多对一的单向关联关系 7.1.1 元素的not-null属性 7.1.2 级联保存和更新 7.2 映射一对多双向关联关系 7.2.1 元素的inverse属性 7.2.2 级联删除 7.2.3 父子关系 7.3...
9. **多对多联系的处理**:对于两个实体间的多对多联系,通常需要创建一个关联表(或关系)来存储这两者之间的联系。 10. **模式的逻辑子集**:外模式是模式的逻辑子集,用于用户或应用程序的特定视图。 11. **...
- **7.5.1 一对多 (one to many)/多对一 (many to one)**:说明使用连接表的双向一对多/多对一关联映射。 - **7.5.2 一对一 (one to one)**:介绍使用连接表的双向一对一关联映射。 - **7.5.3 多对多 (many-to-...
《关系数据库与SQL语言》第一章练习题涉及到的关系数据库基本概念和关键知识点如下: 1. **实体完整性**:实体完整性是数据库完整性的一种,它要求主键(Primary Key)属性的值不能为空,这是通过定义主键来确保的...