当前位置: 首页 > news >正文

小说网站怎么做邵阳网站建设

小说网站怎么做,邵阳网站建设,大连建设招标网,建设银行鞍山网站hibernate 继承在本教程中#xff0c;我们将了解如何在hibernate中实现继承。可以通过3种方式在hibernate中实现继承。在本文中#xff0c;我们将看到其中一种#xff0c;即每个类层次结构一个表。 Hibernate中的继承#xff1a; Java是面向对象的语言#xff0c;继承是J… hibernate 继承 在本教程中我们将了解如何在hibernate中实现继承。可以通过3种方式在hibernate中实现继承。在本文中我们将看到其中一种即每个类层次结构一个表。 Hibernate中的继承 Java是面向对象的语言继承是Java的主要功能之一。关系模型可以实现“是”和“具有”关系但是Hibernate为我们提供了以不同方式实现类层次结构的方法。 每个类层次结构一张表 假设我们具有以下类层次结构我们将shape类作为基类并且Rectangle和Circle从Shape类继承。 在每个类层次结构的一个表中将为以上层次结构创建一个表。即将创建具有以下结构的SHAPE表。 如您所见仅创建了一个具有子类属性的表SHAPE。 根据上面的类图我们将创建三个类Shape.javaRectangle.java和Circle.java 1.Shape.java 这是我们实体类层次结构的根类。 在SRC- org.arpit.javapostsforlearning创建Shape.java。 package org.arpit.javapostsforlearning; import javax.persistence.Column; import javax.persistence.DiscriminatorColumn; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; import javax.persistence.Table; import javax.persistence.DiscriminatorType;Entity Table(nameSHAPE) Inheritance(strategyInheritanceType.SINGLE_TABLE) DiscriminatorColumn (nameDiscriminator,discriminatorTypeDiscriminatorType.STRING ) DiscriminatorValue(valueS) public class Shape {IdGeneratedValueColumn(nameShape_Id)int shapeId;Column(nameShape_Name)String shapeName;public Shape(){} public Shape(String shapeName){this.shapeNameshapeName;}//getters and setters} Shape是我们的根类因此一些注释需要与根类一起使用以实现继承。 遗产 为了在hiberante中实现继承使用Inheritance批注。该批注定义了要为实体类层次结构实现的继承策略。对于每个类层次结构的一个表我们已使用Single_Table作为继承策略。此批注在根级别或子层次结构级别定义适用不同策略的地方。 DiscriminatorColumn 该注释用于定义Single_Table和联接策略的区分符列用于区分不同的类实例。此注释在要应用不同策略的根级别或子层次结构级别定义。 如果未指定DiscriminatorColumn批注则hibernate将创建一个名为“ DType”的列而DiscriminatorType将为字符串。 DiscriminatorValue 该注释定义了该类在鉴别符列中的值这只能应用于实体具体类。例如如果条目将是SHAPE表中的形状实例则s将是鉴别符列中该行的值。未指定注释并且使用Discriminator列则将提供提供者特定的值如果Discriminator类型为String则鉴别符值将是实体名称。Discriminator值如果未默认则需要在层次结构中的每个实体上指定。 2Rectangle.java 这是我们的孩子班。 在src- org.arpit.javapostsforlearning中创建Rectangle.java 。 package org.arpit.javapostsforlearning;import javax.persistence.Column; import javax.persistence.Column; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity;Entity DiscriminatorValue(valueR) public class Rectangle extends Shape{Column(nameRectangle_Length)int length;Column(nameRectangle_Breadth)int breadth;// getters and setterspublic Rectangle(){}public Rectangle(String shapeName,int length,int breadth){super(shapeName);this.lengthlength;this.breadthbreadth;}// getters and setters }3Circle.java 这是我们的第二个孩子班。 在SRC- org.arpit.javapostsforlearning创建Circle.java。 package org.arpit.javapostsforlearning;import javax.persistence.Column; import javax.persistence.Column; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity;Entity DiscriminatorValue(valueR) public class Rectangle extends Shape{Column(nameRectangle_Length)int length;Column(nameRectangle_Breadth)int breadth;// getters and setterspublic Rectangle(){}public Rectangle(String shapeName,int length,int breadth){super(shapeName);this.lengthlength;this.breadthbreadth;}// getters and setters }4Hiberante.cfg.xml 在src文件夹中创建一个名为“ hibernate.cfg.xml”的文件。 ?xml version1.0 encodingutf-8? !DOCTYPE hibernate-configuration PUBLIC-//Hibernate/Hibernate Configuration DTD 3.0//ENhttp://hibernate.sourceforge.net/hibernate-configuration-3.0.dtdhibernate-configurationsession-factory!-- Database connection settings --property nameconnection.driver_classcom.microsoft.sqlserver.jdbc.SQLServerDriver/propertyproperty nameconnection.urljdbc:sqlserver://localhost:1433;databaseUserInfo/propertyproperty nameconnection.usernamesa/propertyproperty nameconnection.password/property!-- JDBC connection pool (use the built-in) --property nameconnection.pool_size1/property!-- SQL dialect --property namedialectorg.hibernate.dialect.SQLServer2005Dialect/property!-- Enable Hibernates automatic session context management --property namecurrent_session_context_classthread/property!-- Disable the second-level cache --property namecache.provider_classorg.hibernate.cache.NoCacheProvider/property!-- Echo all executed SQL to stdout --property nameshow_sqltrue/property!-- Drop and re-create the database schema on startup --property namehbm2ddl.autocreate/propertymapping classorg.arpit.javapostsforlearning.Shape/mappingmapping classorg.arpit.javapostsforlearning.Rectangle/mappingmapping classorg.arpit.javapostsforlearning.Circle/mapping/session-factory/hibernate-configuration5主类 package org.arpit.javapostsforlearning;import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder;public class HibernateMain {public static void main(String[] args) {Shape shapenew Shape(Sqaure);Rectangle rectanglenew Rectangle(Rectangle, 10, 20); Circle circlenew Circle(Circle, 4);Configuration configurationnew Configuration();configuration.configure();ServiceRegistry sr new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();SessionFactory sfconfiguration.buildSessionFactory(sr);Session sssf.openSession();ss.beginTransaction();ss.save(shape);ss.save(rectangle);ss.save(circle);ss.getTransaction().commit();ss.close();} }6运行它 运行它时您将得到以下输出。 Hibernate: create table SHAPE (Discriminator varchar(31) not null, Shape_Id int identity not null, Shape_Name varchar(255), Rectangle_Breadth int, Rectangle_Length int, Circle_Radius int, primary key (Shape_Id)) Feb 04, 2013 11:01:36 PM org.hibernate.tool.hbm2ddl.SchemaExport execute INFO: HHH000230: Schema export complete Hibernate: insert into SHAPE (Shape_Name, Discriminator) values (?, S) Hibernate: insert into SHAPE (Shape_Name, Rectangle_Breadth, Rectangle_Length, Discriminator) values (?, ?, ?, R) Hibernate: insert into SHAPE (Shape_Name, Circle_Radius, Discriminator) values (?, ?, C)7SQL输出 数据库中的SHAPE表。 参考 Hibernate继承我们的JCG合作伙伴 Arpit Mandliya在初学者博客的Java框架和设计模式下的 每个类层次结构表 。 翻译自: https://www.javacodegeeks.com/2013/02/hibernate-inheritance-table-per-class-hierarchy.htmlhibernate 继承
http://www.yutouwan.com/news/46944/

相关文章:

  • 花生壳 做网站php搭建网站软件
  • 网站建设推广济南兴田德润优惠吗管理咨询的定义
  • dede酒业企业网站模板企业管理咨询公司经营范围有哪些
  • 学校建设网站目标生物科技公司网站建设
  • 淮安做网站卓越凯欣网站建设与管理教学视频教程
  • 领导高度重视网站建设医疗网站建设模板制作
  • 做网站需要哪些语言传奇游戏平台
  • 做vi网站仪陇网站建设
  • 山东平台网站建设设计上传wordpress程序
  • 网站开发语言选择wordpress 3.8.1 漏洞
  • 必须网站的访问量采网站建设
  • 建筑工程网站导航宁夏建设工程造价网站
  • 网站产品要如何做详情互联网推广渠道
  • 龙岩营销型网站建设视频作为网站背景
  • 新颖网站页面设计wordpress 匿名评论
  • 怎么建自己的手机网站吗wordpress极简
  • 中工信融营销型网站建设wordpress 没有注册
  • 公司做网站能够带来的好处设计师国外网站
  • 系部网站建设需求分析运行需求申请网站域名要多少钱
  • 网站开发有哪些职位软件开发项目管理工具
  • 网站建设上wordpress怎么引用single
  • 代做淘宝客网站南京网站建设王道下拉強
  • 重庆微网站广州哪里有正规的技能培训
  • 宁波做网站的企业网站开发需求确认书
  • 新开河街网站建设公司个人网站备案 流程
  • 公司做网站能抵扣进项税吗社交电商平台
  • 网站推广办法凡科互动网站登录入口
  • 定州市建设局网站建设网站哪个模板网站
  • 网站编程设计方向linux wordpress 安装
  • 怎么做网站网站不被发现建设银行对公网站