请教一下类和hibernate的设计问题

leilu000 2014-11-17 10:31:31
我现在又一个需求,有一个变电站,这个变电站下面有很多条输电线,而每条输电线都可能是不同的导线型号接起来的,而且每条输电线上的对应导线型号的长度不一样,所以要记录对应输电线上的不同导线的长度。现在我想设计几个类,并用hibernate维护他们的关系。我的思路是这样的:
建立一个变电站类Station,然后建立一个输电线类Wire,一个导线型号的类WireType,Station和Wire是一对多的关系,现在就是不知道输电线和导线型号怎么映射。因为每条输电线都要对应几个导线型号,而且对应的导线型号还有不同的长度。还有就是对应的导线型号的位置是固定的。
比如该变电站的导线型号有ABCD四种,有一条输电线有三种导线型号,分别为ABC,但是他们的导线型号位置不能改变,比如第一段是A,第二段是C,而第三段是B,A导线型号对应长度为5米,B导线型号对应长度为10米,C导线型号对应长度为20米。请问一下这种关系该怎么设计呢?
我的思路是不用hibernate来维护他们的关系,直接在Wire类存放WireType的id号,到时候再根据id查询他们的对应的数值。
比如:
Wire类是这样的: WireType类是这样的:
public class Wire{ public class WireType{
private Integer id; private Integer id;
private String name;//输电线名称 private String name;//导线型号名称名称
private WireType type1;//导线型号1 private Double param;//导线型号的具体参数值
private Double L1;//导线型号1的长度 }
private WireType type2;//导线型号2
private Double L2;//导线型号2的长度
}
...全文
241 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
attilax 2014-11-17
  • 打赏
  • 举报
回复
建立一个变电站类Station,然后建立一个输电线类Wire,导线类wire1 导线型号 WireType
crazy_kou 2014-11-17
  • 打赏
  • 举报
回复
这样设计:Station一对多Wire,然后wire一对多WireComponent,WireComponent一对一WireType。 原理:一个变电站对应多条输电线,每条输电线都对应对个导线组件,组件中属性有缆线类型,输电线位置,长度。
public class Station {
	private int id;
	private Set<Wire> wireSet = new HashSet<Wire>(0);
}
public class Wire {
	private int id;
//	组成此线路所用缆线组件集合
	private Set<WireComponent> wireSet = new HashSet<WireComponent>(0);
}
public class WireComponent {
	private WireType wireType;	//具体缆线类型
	private double length;  //长度
	private int local;  //具体所处位置
}
public class WireType {
	private int id;
	private String name;
}
leilu000 2014-11-17
  • 打赏
  • 举报
回复
attilax 牛头不对马嘴
logo 设计不会,就这样先凑合了写道 Fuseblog预备开发带在线SHOP功能的个人博客系统.仿照Appfuse 提供一个完全自动化的ant构建脚本.在线SHOP的数据库建模图例已经 在博客中贴出.感兴趣的和我一起搭建,嘻嘻 文档博客地址: http://forum.sinomagazine.com 开发环境: Jcreator-4.5 JDK-1.5 Ant-1.6.1 MYSQL-5 Tomcat-5.5 Spring-2.5.6 Ibatis-2.3.4 问题事项: 1.在windows系统中,命令行中执行ant命令时,当指定的 构建脚本文件中包含中文字符,而构建脚本文件的编码是UTF-8时将会 Invalid byte 1 of 1-byte UTF-8 sequence. 的错误.这个问题尚未 知解决,故先采用GBK的编码. 2.在Jcreator中创建的项目,不支持UTF-8编码,缺省GBK. 以下先列出初步的的ant构建文件的代码: build.xml 问题,并保证构建成功。 二、工具篇: 持续集成 ... by lixw 2008-09-09 回复 (3) 网络相册开发(6)——ant 自动 ... 在工程目录下创建libs/hibernate/ ,放入 hibernate-tools-3.2.0.ga.jar jtidy-4aug2000r7-dev.jar build.properties project.name=sw project.version=1.0 basedir=. build.dir =${basedir}/build web.dir = ${basedir}/WebR ... by vyyv 2009-03-12 回复 (1) ant配置文件实例详解 build.xml 代码 xml version="1.0" encoding="UTF-8"?> 问题。 Antenna介绍 Ant ... by pandonix 2007-08-28 回复 (9) 用Ant 来编译打包您的Anroid应用 ... 通过 activityCreator.py --out myproject your.package.name.ActivityName 命令可以生成一个project ,生成project下面有个bulid.xml 文件,那个东西就可以帮你打包生成了。 来看下ant是怎么做的。 Hibernatet等ORM的重要区别之一) l 支持基于Object Graph进行自动查询调优 ... by kyo100900 2009-04-07 回复 (7) jspx 一个来自于埃及的java web ... 怎么又冒出一个web框架? 看看现存的Java web应用程序框架,无一例外的要求花费大量的时间与精力后才可投入生产。对于大多数开发人员来说想要的东西很简单:友好,易于学习并且还具有生产力。因此我们开发了JSPX。 JSPX的主要目标就是打造成为一个“友好的开发者”框架。因为JSPX只基于标准的HTML标签和简单的Java POJO: 1. JSP ... by kyo100900 2009-01-07 回复 (42) NetBeans Struts2 插件更新 NetBeans Struts 2 插件(http://nbstruts2support.dev.java.net)很长时间没有更新了,我对原插件进行了少量修改,并在 NetBeans 6.7 上测试通过,其中修改包括:1.包含了最新的 Struts 2.1.6 库文件。2.更新至最新的 web framework API。3.重新设计了配置面板,支持更加灵活的最初配置。4.少量针对的 ... by gml520 2009-08-27 回复 (4) 新版本的PrettyTools发布,支持 ... PrettyFaces: EL API访问PrettyContext 支持JSF 1.1 增强了错误页面和servlet重定向 PrettyFaces是一个JSF1.2和JSF2.0的扩展,用来创建便于书签收藏、漂亮的网址。 PrettyFaces优雅的解决了这个问题,包括诸如功能:网页装载行动,无缝的跟faces的导航整合,动态视图的ID分配和管理参数分析,无需配置,兼容其他JSF框架。P ... by zly06 2009-09-09 回复 (0) 相关博客 ant模板 < ? xml version = "1.0" ?> < project name= "tax-calculator" default= "package" > < property name= "src.dir" location= "src" / > ... by article2008 2008-07-30 回复 (0) 代码备份build.xml

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧