-
映射分四种类型,一对多 多对一 一对一 多对多查看全部
-
cascade属性查看全部
-
单向多对一关联查看全部
-
映射的类型查看全部
-
表示一对多:查看全部
-
映射分四种类型,一对多 多对一 一对一 多对多 主要为前两种查看全部
-
MyEclipse怎样快捷创建hibernate相关配置查看全部
-
------------------------- MyEclipse 添加hibernate支持 工程-右击-MyEclipse->Add Hibernate Capabilities: 选择Hibernate版本(MyEclipse版本越高,支持的Hibernate版本也越高,尽量选择新版本) 根据需要选择相应的JAR包::(1)添加JAR包 next-->创建hibernate.cfg.xml(指定目录) :(2)添加核心配置文件 next-->选择数据库连接 next-->创建Hibernate工具类,用于获取session或者sessionFactory(Java package 新建) :(3)添加工具类 finish ------------------------- MyEclipse 反向工程:根据数据库中的表 自动创建持久化类和映射文件文件 1)创建包entity 用于保存持久化类 2)数据库视图 CTRL 选择复数表-右击-Hibernate Reverse Engineering(反向工程) 指定Java src folder目录 指定持久化类和映射文件保存位置, 勾选Create POJO<>DB Table mapping information创建映射文件 (勾选create a Hibernate mapping file (*.hbm.xml)for each datebase table) (勾选Update Hibernate configuration with mapping resource location) 勾选Java Date Object (POJO<> DB Table) :创建实体类 注意:Create abstract class 不勾选(不需要) NEXT ->Hibernate Mapping and Application Generation : Id Generator:选择主键生成策略(例子中是increment) NEXT->选择表 勾选:Include referenced tables(A->B),Include referenced tables(A<-B) finish.切换回企业开发视图查看全部
-
MyEclipse 给工程添加hibernate支持 菜单Windws-->Show-->View-->Other,展开MyEclipse Datebase 选择DB Browser(数据库视图) 左侧空白右击,New-->DatebaseDriver 选择相应数据库 给连接命名,指定DB URl-->user /password--> Driver JARs :点击Add JARS 选择JAR包 可点击Test Driver 可勾选save password查看全部
-
===cascade属性===================================== cascade美 [kæˈsked] n.串联;倾泻;小瀑布,瀑布状物 vi. 流注;大量落下 ·当设置了cascade属性不为none时,Hibernate会自动持久化所关联的对象 cascade属性的设置会带来性能上的变动,需谨慎设置 属性值 : 含义和作用 all 对所有操作进行级联操作 save-update 执行保存和更新操作时进行级联操作 delete 执行删除操作时操作时进行级联操作 none 对所有操作不进行级联操作 //保存 //设置关联关系 g.getStudents().add(stu1); g.getStudents().add(stu2); stu1.setGrade(g); stu2.setGrade(g); Session session=HibernateUtil.getSession(); Transaction tx=session.beginTransaction(); session.save(g);//级联操作 //session.save(stu1); //session.save(stu2); <!-- 配置一对多关联关系 设置inverse属性为true,由多方负责维护关联关系--> <set name="students" table="student" inverse="true" cascade="save-update"> <key column="gid"></key> <one-to-many class="com.imooc.entity.Student"/> </set> 例子:也可在学生端级联 //session.save(g); session.save(stu1); session.save(stu2); 多方: <!-- 配置多对一关联关系 --> <many-to-one name="grade" class="com.imooc.entity.Grade" column="gid" cascade= "all"></many-to-one>查看全部
-
//保存 public static void save(){ Grade g=new Grade("Java一班","Java软件开发一班"); Student stu1=new Student("慕女神", "女"); Student stu2=new Student("小慕慕", "男"); //设置关联关系 g.getStudents().add(stu1); g.getStudents().add(stu2); stu1.setGrade(g); stu2.setGrade(g); Session session=HibernateUtil.getSession(); Transaction tx=session.beginTransaction(); session.save(g); session.save(stu1); session.save(stu2); tx.commit(); HibernateUtil.closeSession(session);查看全部
-
单向多对一关联 ·多对一的关系和关系数据库中的外键参照关系最匹配,即在己方的表中的一个外键参照另一个表的主键 ·通过在多方持有一方的引用实现,需要在“多”端的一端使用<many to one> 配置 <!-- 配置多对一关联关系 --> <many-to-one name="grade" class="com.imooc.entity.Grade" column="gid" cascade="all"></many-to-one> </class>查看全部
-
·多对一的关系和关系数据库中的外键参照关系最匹配,即在己方的表中的一个外键参照另一个表的主键 ·通过在多方持有一方的引用实现,需要在“多”端的一端使用<many to one> 配置查看全部
-
属性 含义和作用 必须 默认值 name 映射类属性的名称 Y table 关联类的目标数据库表 N lazy 指定关联对象是否使用延迟加载 N proxy inverse 表示双向关联中被动的一方 N false查看全部
-
实体化类文件夹一般叫entity,遵循javabean:实现implements Serializable接口 public class Grade implements Serializable { private int gid; private String gname; private String gdesc; //一方持有多方的集合 private Set<Student> students = new HashSet<Student>();//set 元素不可重复无顺序 } <hibernate-mapping> <class name="XX.entity.Grade" table="grade"> <id name="gid" column="gid" type="java.lang.Integer"> <generator class="increment"></generator> </id> <property name="gname" type="java.lang.String"> <column name="gname" length="20" not-null="true"></column> </property> <property name="gdesc"> <column name="gdesc"></column> </property> <!-- 配置一对多关联关系 --> <set name="students" table="student"> <!-- 指定关联的外键列 --> <key column="gid"></key> <one-to-many class="XX.Student"/> </set> </class> hibernate.cfg.xml <!-- 指定映射文件的路径 --> <mapping resource="com/imooc/entity/Grade.hbm.xml"/> <mapping resource="com/imooc/entity/Student.hbm.xml"/>查看全部
举报
0/150
提交
取消