来看hibernate(jpa)复合主键annotation声明办法
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,在计划数据库表的时分,常常会计划出带有复合主键的表,即表的纪录由多个字段团结标识,如:
表
CREATETABLETB_HOUR_DATA
(
STAT_DATE DATE NOTNULL,
PATH_ID NUMBER(20) NOTNULL,
VALUE VARCHAR2(512BYTE),
TYPE NUMBER(1) NOTNULL
)
个中,复合主键为(STAT_DATE,PATH_ID,TYPE)
针对这类情形,hibernate(jpa)的annotation映照声明以下:
1、复合主键类HourDataPK
packagenet.kong.wolf.stat.db.entity;
importjava.io.Serializable;
importjava.util.Date;
importjavax.persistence.Column;
importjavax.persistence.Embeddable;
importjavax.persistence.JoinColumn;
importjavax.persistence.ManyToOne;
importjavax.persistence.Temporal;
importjavax.persistence.TemporalType;
@Embeddable
publicclassHourDataPKimplementsSerializable{
/***//**
*
*/
privatestaticfinallongserialVersionUID=1L;
@ManyToOne
@JoinColumn(name="path_id",nullable=false)
privatePathpath;
@Column(name="stat_date")
@Temporal(TemporalType.DATE)
privateDatestatDate;
privateinttype;
publicPathgetPath(){
returnpath;
}
publicvoidsetPath(Pathpath){
this.path=path;
}
publicDategetStatDate(){
returnstatDate;
}
publicvoidsetStatDate(DatestatDate){
this.statDate=statDate;
}
publicintgetType(){
returntype;
}
publicvoidsetType(inttype){
this.type=type;
}
}
<p>
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net比java好。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 是一种为 Internet发展的计算机语言 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
页:
[1]