摘要: 树也是一种一对多的关系,同普通一对多关系的区别在于他的“一”的一方及“多”的一方均是同一类对象,因此可以用一对多来实现树,唯一的区别是将映射的对象类型设置为自身即可 以Person对象为例,人类有父亲及孩子,其中父亲只有一个,孩子有多个,父亲是Person对象,孩子是Person对象的集合 构建测试 阅读全文
posted @ 2017-11-08 22:48 smart_妖 阅读(515) 评论(0) 推荐(0) 编辑
摘要: NIO同BIO的区别在于NIO的所有操作都可以是非阻塞的,这里尝试将之前用BIO实现的htp服务器改造为用NIO实现,在改造过程中碰到不少问题,只能说知易行难 这里是将对请求的接受(accept)也使用Selector处理了,在该场景下,在处理完SelectioKey后一定要remove,否则会导致 阅读全文
posted @ 2017-10-22 17:45 smart_妖 阅读(1965) 评论(0) 推荐(0) 编辑
摘要: 平时在使用tomcat、jetty时,只是使用里面的servlet、filter等,从来没想过它们如何同浏览器进行交互的。工作中遇到一些问题,在同其它同事交流及学习源码的过程中,才明白底层原来走的也是socket,才知道所谓的NIO是什么。。。 了解NIO之前,肯定得先了解BIO,出于学习的目的 , 阅读全文
posted @ 2017-10-22 17:34 smart_妖 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 多对多映射是在实际数据库表关系之间比较常见的一种,仍然以电影为例,一部电影可以有多个演员,一个演员也可以参演多部电影,电影表和演员表之间就是“多对多”的关系 针对多对多的映射关系,Hibernate提供了三种映射实现方式: 1.使用@ManyToMany的单向映射方式; 2.使用@ManyToMan 阅读全文
posted @ 2017-10-07 16:12 smart_妖 阅读(968) 评论(0) 推荐(0) 编辑
摘要: 集合按其内元素的数据类型分为两种:基本数据类型集合及复杂对象类型集合,Hibernate对于两类集合提供不同的映射方式。(在类上以@Embeddable注解的复杂对象数据类型处理方式同基本数据类型集合一致,此处只讨论以@Entity注解的对象) 对于基本数据类型集合,直接在属性上添加@Element 阅读全文
posted @ 2017-10-06 15:25 smart_妖 阅读(1429) 评论(0) 推荐(0) 编辑
摘要: 对于枚举类型,不能通过org.hibernate.annotations.Type注解来简单的映射对应的数据库字段类型(除非自定义类型)。对此,Hibernate提供了javax.persistence.Enumerated注解,该注解的参数有两种场景: 1.EnumType.STRING:使用该参 阅读全文
posted @ 2017-10-05 23:13 smart_妖 阅读(3997) 评论(2) 推荐(0) 编辑
摘要: ORM配置的定义,除了用XML文件之外,还可以使用注解的方式。使用XML的优点是如果配置有变更,在仅更改配置的情况下,不需要重新编译(作为数据库表的映射类,除了表字段类型变更之外,不修改数据类的场景应该非常少了),缺点是同时存在数据类和配置文件,如果有变更可能需要同时改两个地方,容易遗漏。而使用注解 阅读全文
posted @ 2017-10-05 18:37 smart_妖 阅读(378) 评论(0) 推荐(0) 编辑
摘要: Hibernate用来操作数据库,它对开发人员隐藏了底层JDBC的操作及不同数据库的差异,通过它,开发人员基本上只用关心自己的对象就可以了 构建一个最基本的Hibernate应用需要四个部分: 1.数据类。数据类同数据库的表存在对应关系,使用Hibernate操作数据类时,Hibernate会将之转 阅读全文
posted @ 2017-10-05 16:03 smart_妖 阅读(11334) 评论(1) 推荐(0) 编辑