跟我学hibernate框架技术——在容器外实现“一对多”的关联内容摘要:
必读系列资料 杨教授工作室,版权所有,盗版必究 , 14/34 页 14 同时在数据库表中也增加了一条信息 实现“一对多”的关联映射 在 MYSQL 的本例的数据库中增加一个数据库表 PERSON 本示例中的“ 单向一对多”关系 实现过程 新增一个 Person 类 ( 1)新增一个 PersonPO 类,包名称为 并且在 PersonPO 类增加一组 CatPO,这样我们可以轻松的通过调用 () 得到一个 PersonPO 所 拥有的 CatPO 列表,而不必执行一个显式的查询(一个单向的 Setbased关联)。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 15/34 页 15 ( 2)添加下面的各个成员属性,提供 get/set 方法 private int person_ID。 private int age。 private String firstName。 private String lastName。 package。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 16/34 页 16 public class PersonPO { private int person_ID。 @Override public int hashCode() { final int prime = 31。 int result = 1。 result = prime * result + age。 result = prime * result + ((firstName == null) ? 0 : ())。 result = prime * result + ((lastName == null) ? 0 : ())。 result = prime * result + person_ID。 return result。 } @Override public boolean equals(Object obj) { if (this == obj) return true。 if (obj == null) return false。 if (getClass() != ()) return false。 PersonPO other = (PersonPO) obj。 if (age != ) return false。 if (firstName == null) { if ( != null) return false。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 17/34 页 17 } else if (!()) return false。 if (lastName == null) { if ( != null) return false。 } else if (!()) return false。 if (person_ID != ) return false。 return true。 } public int getPerson_ID() { return person_ID。 } public void setPerson_ID(int person_ID) { = person_ID。 } public int getAge() { return age。 } public void setAge(int age) { = age。 } public String getFirstName() { return firstName。 } public void setFirstName(String firstName) { = firstName。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 18/34 页 18 } public String getLastName() { return lastName。 } public void setLastName(String lastName) { = lastName。 } private int age。 private String firstName。 private String lastName。 public PersonPO() { } } 为该实体类创建一个 映射文件 映射文件的内容 ?xml version=? !DOCTYPE hibernatemapping PUBLIC //Hibernate/Hibernate Mapping DTD hibernatemapping 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 19/34 页 19 class name= table=person id name=person_ID generator class=increment/ /id property name=age / property name=firstName / property name=lastName / /class /hibernatemapping 在 配置文件中增加对该文件的定义 ?xml version=39。 39。 encoding=39。 gb231239。 ? !DOCTYPE hibernateconfiguration PUBLIC //Hibernate/Hibernate Configuration DTD//EN hibernateconfiguration sessionfactory property name=dialect /property property name= /property property name=jdbc:jtds: property name=sa/property property name=1234/property property name=show_sqltrue/property! 将 Hibernate 发送给数据库的 sql 显示出来 主键属性不是对象型,而是基本类型,如int/long/double/...,那么我们需要指定一个数值型的unsavedvalue 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 20/34 页 20 mapping resource= /!实体映射文件 mapping resource= / mapping resource=/ mapping resource=/ mapping resource=/ /sessionfactory /hibernateconfiguration 实现 Person 与 Cat 之间的“一对多”的关联 在 PersonPO 类中增加一个 CatPO 类的 Set 集合的定义 private S。跟我学hibernate框架技术——在容器外实现“一对多”的关联
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。