- 浏览: 250528 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (179)
- Spring3.0 (28)
- HIbernate3.5.6 (35)
- Struts2.1.8 (42)
- JSP (1)
- Servlet (0)
- JAVASE (16)
- JavaWeb (1)
- javaEE (0)
- SSH2整合 (0)
- EJB (0)
- Oracle (7)
- Ajax (7)
- Quartz作业调度框架 (6)
- jsValidationFramework (1)
- FCKeditor (1)
- ExtJS (29)
- JSF (0)
- JPA (0)
- JBoss Seam (0)
- JSON (0)
- Webservice (0)
- JQuery (1)
- Javascript (1)
- Css+DIV (0)
- Lunch (0)
- Linux (0)
- PHP (0)
- XML (1)
- Ibatis (0)
- DWR (0)
- DWZ (0)
最新评论
-
Nabulio:
good
Spring配置SessionFactory -
唤流年:
[color=red][/color] ...
Spring配置SessionFactory -
wangcl011:
Oracle通过数据泵网络导入另一个数据库,不生成DMP文件, ...
oracle命令导入dmp文件 -
rochou:
第一个Hibernate实现CRUD -
ningwuyu:
Entity 类是那个jar里面的
PropertyUtils MethodUtils用法
ER:
名称 | 主键 | 类型 | 描述 |
id | pk | int | 员工编号 |
name | varcher(45) | 员工名称 | |
department_id | fk | int | 部门编号 |
名称 | 主键 | 类型 | 描述 |
id | pk | int | 部门编号 |
name | varchar(45) | 部门名称 |
package com.zchen.user.domain; public class Department { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.zchen.user.domain"> <class name="Department" table="`department`"> <id name="id" column="`id`"> <generator class="native"> </generator> </id> <property name="name" unique="true"/> </class> </hibernate-mapping>
package com.zchen.user.domain; public class Employee { private int id; private String name; private Department department; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Department getDepartment() { return department; } public void setDepartment(Department department) { this.department = department; } }
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.zchen.user.domain"> <class name="Employee" table="`employee`"> <id name="id" column="`id`"> <generator class="native"> </generator> </id> <property name="name"/> <many-to-one name="department" column="depart_id"></many-to-one> </class> </hibernate-mapping>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql:///user</property> <property name="connection.username">root</property> <property name="connection.password">mysqladmin</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">create</property> <mapping resource="com/zchen/user/domain/Department.hbm.xml"/> <mapping resource="com/zchen/user/domain/Employee.hbm.xml"/> </session-factory> </hibernate-configuration>
测试:
package test; import org.hibernate.Session; import org.hibernate.Transaction; import com.zchen.user.dao.HibernateUtil; import com.zchen.user.domain.Department; import com.zchen.user.domain.Employee; public class Mant2One { public static void main(String[] args) { add(); query(1); } public static Department add(){ Department depart = new Department(); Employee emp = new Employee(); Session session = null; Transaction tx = null; try { depart.setName("事业部"); emp.setDepartment(depart);//对象模型 建立两个对象的关联 emp.setName("里斯"); session = HibernateUtil.getSession(); tx = session.beginTransaction(); //session.save(depart); //session.save(emp); session.save(emp); emp.setName("wangwu"); session.save(depart); tx.commit(); } catch (Exception e) { e.printStackTrace(); }finally{ if(session != null){ session.close(); } } return depart; } static Employee query(int empId){ Session session = null; Transaction tx = null; Employee emp = null; try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); emp = (Employee)session.get(Employee.class, empId); System.out.println("depart name"+emp.getDepartment().getName()); tx.commit(); } catch (Exception e) { e.printStackTrace(); }finally{ if(session != null){ session.close(); } } return emp; } }
发表评论
-
Hibernate 1+N 问题
2011-06-03 08:17 12261+N问题的描述:举例,多个主题(Topic)属于一个帖子( ... -
多对多双向关联
2011-06-02 21:38 1019老师和学生: Annotation配置: packa ... -
多对多单向关联
2011-06-02 21:28 831老师和学生: Annotation配置: pack ... -
一对多和多对一双向关联
2011-06-02 20:42 1030一个组有多个用户 一个用户只能属于一个组 在用户表里面有组的外 ... -
一对多单向关联
2011-06-02 19:10 843组和用户 一个组有多个用户,一个用户只能属于一个组: 表结 ... -
多对一单向关联
2011-06-02 18:56 833组和人员: 一个组有多个人员,一个人员属于一个组 在用户表里 ... -
关联关系的联合主键映射
2011-06-02 18:24 1048丈夫和妻子 其中妻子表的主键由id和name组成 ,丈夫和妻子 ... -
枚举映射和不映射的属性配置
2011-06-02 17:54 948import java.util.Date; impor ... -
一对一单双向主键关联-xml
2011-06-02 17:45 1219用户表和用户信息表: 规定:用户信息表中的id主键由用户表生 ... -
一对一双向外键关联
2011-06-02 17:15 965妻子和丈夫: 在丈夫表里面有妻子的外键 学生和学生证: ... -
一对一单向外键关联
2011-06-02 17:01 1106一对一单向外键关联 分为Annotation和xml方式: ... -
Configuration取配置文件 以及取得Session的两种方法的区别
2011-06-02 12:55 1086在得到SessionFactory的时候要先取得配置文件:Hi ... -
联合主键--Annotation
2011-06-02 12:23 1322联合主键Annotation配置方法有三种: 1.将组件类注 ... -
联合主键--xml
2011-06-02 11:41 1136需求: 在T_STUDENTS表中 要将ID和NAME联合作 ... -
Hibernate设置使用C3P0连接池
2010-12-18 16:37 9931.导入jar文件 2.修改hibernate.cfg.xm ... -
Hibernate设置使用Tomcat中的连接池
2010-12-18 16:31 10851.修改Tomcat的context.xml文件 <C ... -
hibernate.cfg.xml
2010-12-18 15:30 867<?xml version='1.0' encoding ... -
Session和SessionFactory的多线程问题
2010-12-06 15:20 1203Session:是非线程安全的,生命周期较短,代表一个和数据库 ... -
Hibernate的拦截器与监听器
2010-12-06 14:57 1069定义监听器并继承SaveOrUpdateEventListen ... -
Hibernate使用命名查询
2010-12-06 14:37 959命名查询:就是在配置文件里面定义好sql语句。 简单示 ...
相关推荐
在上面的部门与员工的例子中,如果我们将关注点放在员工上,那么可以说每个员工对应一个部门,这就是多对一关系。实际上,我们在`Employee`类中已经实现了这个关系,因为每个员工可以属于一个部门,而一个部门可以有...
在数据库设计中,多对一关联意味着一个实体(如部门)可以与多个其他实体(如员工)相关联,而每个其他实体只能对应到这个单一的实体。例如,在公司数据库中,一个部门可能有多个员工,但每个员工只属于一个部门。 ...
为了找出至少有一个员工的所有部门,我们需要连接`emp`表和`dept`表,并且确保只选择那些在`emp`表中有记录的部门。可以使用内连接(INNER JOIN)来实现这一目标。 **SQL语句:** ```sql SELECT d.DEPTNO, d.DNAME ...
在Java的持久化框架Hibernate中,多对一(ManyToOne)关联关系是一种常见的对象关系映射(ORM)场景。这种关系通常出现在一个实体类拥有多条与另一个实体类相关的记录,而另一个实体类可能只有一条对应的记录。例如...
这里,Department和Employee类分别代表部门和员工,一个部门可以有多名员工,而一名员工只能属于一个部门。`@OneToMany`和`@ManyToOne`注解定义了这种关系。 ### 3. 多对多映射 多对多关系表示两个实体之间存在多...
在这个“hibernate实例(一对多,多对一)”的主题中,我们将深入探讨两种重要的关联关系:一对一(One-to-One)和一对多(One-to-Many)。 **一对一关联(One-to-One)** 在一对一关联中,一个实体与另一个实体之间...
这里的jQuery表单可能包含了多个输入字段,用于员工信息的填写,并可能集成了部门下拉菜单,方便用户选择所属部门。 3. **CSS**:层叠样式表(CSS)用于定义网页的布局和样式。在员工部门分组的表单中,CSS可能用于...
在`Employee`实体中,`@ManyToOne`注解表示多对一的关系,`@JoinColumn`注解指定了外键所在的列名。 为了使双向关联正常工作,还需要在每个实体的setter方法中添加一些额外的逻辑,以确保两边的关系同步: ```java...
在数据库设计中,有时会遇到一种情况,即在主表中的一列用来存储多个关联ID,这些ID之间用逗号隔开,这种做法虽然...在设计数据库时,通常建议遵循第一范式,将多对多关系通过中间表来表示,以提高数据管理和查询效率。
例如,在一个公司员工管理系统中,一个部门可以有多名员工,但一个员工只能属于一个部门,这就构成了一对多自关联。 在这个场景中,"源码"标签可能意味着我们将讨论如何在编程中实现这种关系,而"工具"标签则可能...
在Java对象关系映射(ORM)框架中,Hibernate是一个广泛使用的工具,它允许开发者将数据库中的数据模型化为Java对象。...对于更复杂的关系,如多对多映射,原理类似,但配置会更复杂,需要额外处理中间表。
搜索员工 关键字 员工姓名 员工工号 部门名 精确查找 模糊查找 员工列表| 员工ID 员工工号 员工姓名 员工用户名 员工性别 部门名 用户身份 岗位名 添加员工 部门列表| 部门ID 部门代码 部门名 部门人数 部门答题...
这里,第一个`SELECT`语句返回10号部门员工的姓名,第二个`SELECT`语句返回20号部门员工的姓名。`UNION`操作会将这两个结果集合并为一个结果集,并自动去除重复的行。 #### 4. 查询10号部门及20号部门的员工(两种...
这个应用程序是一个内容管理系统,在这个应用程序中可以创建员工、部门和角色。 该应用程序使用 mysql 来存储所有数据。 该应用程序要求提供必要的数据来创建所有员工、部门和员工。 它还可以根据它具有的预构建操作...
3. 避免无限循环:在序列化或JSON转换时,确保避免无限递归(一个部门包含多个员工,每个员工又包含部门...),可以使用`@JsonManagedReference`和`@JsonBackReference`进行控制。 4. 性能优化:在大规模数据操作时...
在本Java项目中,我们利用Ajax技术来实现一个三级联动的部门员工管理界面,并通过网页表格展示数据。这个案例旨在帮助我们深入理解Ajax的工作原理及其在实际开发中的应用。Ajax,全称为Asynchronous JavaScript and ...
PMC部门,全称为Production and Material Control,是企业管理中的核心...PMC的工作效能直接影响企业的生产效率和客户满意度,因此,对PMC部门员工进行深入培训和理解其职责至关重要,以便更好地支持企业的生产目标。
2. 部门名称:记录员工所属的部门名称。 3. 填表日期:记录填表的日期。 4. 新进人数:记录新加入的员工人数。 5. 应到人数:记录应该出勤的员工人数。 6. 未到人数:记录未出勤的员工人数。 7. 辞职人数:记录辞职...
// 使用@ManyToOne注解声明多对一关系 @ManyToOne @JoinColumn(name = "user_id") private User user; // getters and setters } ``` **3. 关联的属性和操作** 在`User`类中,`orders`字段被标记为`@...
在关系型数据库中,一对多关联是非常常见的一种数据关系,例如一个用户可以拥有多个订单,一个部门可以包含多个员工等。在iBatis中,我们可以通过配置XML映射文件来实现这种关联。 1. **一对多关联映射原理** 一对...