跟我学hibernate框架技术——“一对一”的实体映射实现mysql内容摘要:

Address/ /class /hibernatemapping 注意: 同时由于 Publish 表中的 publish_id 的产生方式设置为“ increment”,因此应该在该数据库表中首先有数据(如可以给出下面的 示例数据)。 否则将从 1 开始产生。 ( 3)在 配置文件中增加对该文件的定义 ?xml version=39。 39。 encoding=39。 utf839。 ? !DOCTYPE hibernateconfiguration PUBLIC //Hibernate/Hibernate Configuration DTD//EN hibernateconfiguration sessionfactory property name=java:p/env/jdbc/datasource/property 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室 ,版权所有,盗版必究 , 12/27 页 12 property name=show_sqlfalse/property property name=dialect/property ! Mapping files mapping resource=/ mapping resource=/ /sessionfactory /hibernateconfiguration 执行 TestHibernateXML 一识别 *.xml 文件的正确性 实现 Ebook 与 Publish 之间的“一对一”的关联 ( 1)修改 类增加一个 Publish 类型的成员属性 package。 import .*。 public class EBook 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室 ,版权所有,盗版必究 , 13/27 页 13 { private Integer id。 private String ebookName。 private char ebookKind。 private float ebookPrice。 private Publish publish = null。 public Publish getPublish() { return。 } public void setPublish(Publish newPublish) { = newPublish。 } public EBook() { }。 //其它代码不变 } ( 2)在 里面映射这个关联 “ onetoone”关系定义规则 “ onetoone” 关系定义比较简单,只需在 主控方 加以定义(本例为 EBook 类)。 这里,我们的目标是由 EBook 对象获取其对应的 Publish 对象。 因此 EBook 对象是主控方,为了实现“一对一”关系,我们在 EBook 对象的映射文件 中加入 onetoone标签节点,对 Publish 对象进行一对一关联。 ( 3)修改 文件以增加下面的内容 ?xml version=? !DOCTYPE hibernatemapping PUBLIC //Hibernate/Hibernate Mapping DTD 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室 ,版权所有,盗版必究 , 14/27 页 14 hibernatemapping class name= table=EBook id name=id type= column name=ebook_id notnull=true/ generator class=foreign param name=propertypublish/param /generator /id property name=ebookName column name=ebookName length=32 notnull=true/ /property property name=ebookKind / property name=ebookPrice / onetoone name=publish class= cascade=all outerjoin=auto constrained=true / /class /hibernatemapping 注意: 其中的 cascade=none,表示不需要进行级连。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室 ,版权所有,盗版必究 , 15/27 页 15 ( 3) onetoone标签的说明 参考 hibernate 的官方指导手册,下面给出 onetoone标签的说明 onetoone name=propertyName (1) class=ClassName (2) cascade=all|none|saveupdate|delete (3) constrained=true|false (4) outerjoin=true|false|auto (5) propertyref=propertyNameFromAssociatedClass (6) access=field|property|ClassName (7) / 其中的各个属性的说明如下: ( 1) name:映射属性的名称。 ( 2) class(可选):被关联的类的名称,如果省略此属性,则通过反射机制得到与此属性名称一致的类。 ( 3) cascade(可选)表明操作是否从 父对象级联到被关联的对象。 ( 4) constrained(可选):表明该类对应的表对应的数据库表,和被关联的对象所对应的数据库表之间,通过一个外键引用对主键进行约束。 这个选项影响 save()和 delete()在级联执行时的先后顺序。 ( 5) outerjoin(可选):是否允许外连接抓取;默认是 auto,关联对象没有采用 proxy 机制时使用外联接。 ( 6) propertyref(可选):指定关联类的一个属性,这个属性将会和本外键相对应。 默认为关联类的主键。 ( 7) access(可选): Hibernate 用来访问属性的策略,默认是 property. 对 cascade 级联属性的说明 ( 1)作用 Hibernate 允。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。