蒙在股里 发表于 2015-1-18 11:33:27

发布一篇hibernate annoation (八 联系关系映照)

前些天,在CSDN上看到了一个消息,说是net网页编程网页编程AJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。
onetoone:单向
1,主键联系关系:
在联系关系放利用@OneToOne
sql语句:(类代码见同后面的代码)
Java代码
create table A (id integer not null auto_increment, aname varchar(255), b_id integer, primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), primary key (id))
alter table A add index FK41FCD34905 (b_id), add constraint FK41FCD34905 foreign key (b_id) references B (id) 
可使用@PrimaryKeyJoinColumn举行联系关系
2 双向:
在联系关系方利用 
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="b")
被联系关系方利用
@OneToOne(mappedBy="b")
终极sql:
Java代码create table A (id integer not null auto_increment, aname varchar(255), b integer, primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), primary key (id))
alter table A add index FK41FCA54B4F (b), add constraint FK41FCA54B4F foreign key (b) references B (id)
假如不写
@OneToOne(mappedBy="b")则会在被联系关系放也天生一个字段
终极代码:
Java代码
create table A (id integer not null auto_increment, aname varchar(255), i_id integer, primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), a_id integer, primary key (id))
alter table A add index FK41FCD6779E (i_id), add constraint FK41FCD6779E foreign key (i_id) references B (id)
alter table B add index FK42FCD2D4A5 (a_id), add constraint FK42FCD2D4A5 foreign key (a_id) references A (id)
假如没有写@JoinColumn(name="b")则默许是联系关系属性名+下划线+id
终极sql:
Java代码
create table A (id integer not null auto_increment, aname varchar(255), b_id integer, primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), primary key (id))
alter table A add index FK41FCD34905 (b_id), add constraint FK41FCD34905 foreign key (b_id) references B (id)
可使用@JoinColumn(referencedColumnName="bname")让主联系关系方不联系关系被联系关系放的主键
终极sql
Java代码
create table A (id integer not null auto_increment, aname varchar(255), b_bname varchar(255), primary key (id))
create table B (id integer not null auto_increment, bname varchar(255), primary key (id), unique (bname))
alter table A add index FK41E47CD6BD (b_bname), add constraint FK41E47CD6BD foreign key (b_bname) references B (bname)
<p>
用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。

乐观 发表于 2015-1-21 10:04:20

Java是一种计算机编程语言,拥有跨平台、面向对java

小妖女 发表于 2015-1-31 18:27:28

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

第二个灵魂 发表于 2015-2-2 16:15:32

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

蒙在股里 发表于 2015-2-4 18:52:30

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

冷月葬花魂 发表于 2015-2-8 00:19:56

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

admin 发表于 2015-2-18 11:25:42

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

山那边是海 发表于 2015-2-22 23:01:04

Java是一种计算机编程语言,拥有跨平台、面向对java

变相怪杰 发表于 2015-2-27 23:05:02

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

爱飞 发表于 2015-3-2 08:08:16

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

深爱那片海 发表于 2015-3-11 02:32:53

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

因胸联盟 发表于 2015-3-11 05:47:43

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

飘飘悠悠 发表于 2015-3-11 18:17:53

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

灵魂腐蚀 发表于 2015-3-13 21:38:42

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

透明 发表于 2015-3-20 19:20:17

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

只想知道 发表于 2015-3-21 16:08:17

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

再现理想 发表于 2015-3-26 20:24:54

Java是一种计算机编程语言,拥有跨平台、面向对java

若相依 发表于 2015-3-28 19:54:35

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

老尸 发表于 2015-3-31 22:30:49

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

简单生活 发表于 2015-4-5 17:57:28

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
页: [1]
查看完整版本: 发布一篇hibernate annoation (八 联系关系映照)