自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

转载 数据库设计入门--简评

该书内容的总结:1.数据库管理系统的目标。普通的CRUD操作,原子事务处理特性及事务处理的ACID(原子,一致,隔离,持久)。2.数据库设计过程:   用户的需求!-》问题清单?   数据需求-》用户界面模型 VS word界面?用例图和需求文档---》所有开发人员目的一致,避免吵架!   初期数据库设计-》word中的表?表名,字段名 类型 是否空 约束?  ...

2014-03-12 21:44:00 89

转载 20.从数据库表设计到POJO配置

现在演示“多:多,双向导航”。由于实际项目中,首先进行数据库设计,所以,从数据库设计推出POJO的设计是很必要的. student<->teacher 数据库表: 设计思路: 1.2个POJO类,Teacher对应于t_teacher表。Student对应于t_student表。 2.确定导航要求,为双向导航,使用ManyToMany,一端使用mappedBy。2端都是用c...

2013-10-20 14:13:00 122

转载 19.cascade与“读”不发生关系。只与增删改有关。”读“与fetch有关。

对于“读”:hibernate的默认设置符合人们使用的习惯。如果要手动控制”读“,可以设置fetch属性。 如果导航起始对象为“多”,读取该对象,hibernate默认将导航终止对象也会读出来。 如果导航起始对象为“1"“,读取该对象,hibernate默认不会将导航终止对象读取出来。可以设置fetch=FetchType.EAGER,一旦是EAGER的,那么在get导航起始对象后,导航...

2013-10-16 20:35:00 111

转载 18.Client端的CRUD

1.crud操作需要放在transaction中。 2.crud的操作对象是“java对象”。 3.crud操作之前,通过导航方向按照setXXX设置属性如果是双向导航,则Client端每个导航方向都有设置setXXXX。(双向导航还有一个规律:一方设置mappedBy。防止外键冗余)有2种方式设置: (1)对导航起始对象和终止对象都执行crud。(多用,一般先操作导航终点对象) (2)...

2013-10-16 20:13:00 111

转载 17。多:多映射

1.数据库中,使用中间表完成多:多关联。 2.类图中,单向导航,在”导航“类中使用@ManyToMany即可。 3.双向导航:分别在导航类中使用@ManyToMany,并选择其中一个使用(mappedBy)或@Transient 单向例子:student和teacher。 需求:student可以找到教他的所有老师。而老师不必找到他教的学生。 Student.java @Entity...

2013-10-15 00:02:00 62

转载 16.1:多映射

1.数据库表的映射方式: 在多的一方加外键。 2.类图中字段: 多重性为:1:多 方向性为: 单向导航:“1”这个对象能够找到“多“的对象。所以,在”1“的对象中设置一个属性为集合类型的”多“的对象,在1这类中标明@OneToMany,还要加@joinColumn(name=”groupid”)否则会生成3张表。也可以由”多“一方对象找到”1“一方对象,则包含一个对象即可,在多这个类中标...

2013-10-14 23:03:00 103

转载 15.1:1映射联合主键

1.通常使用@Id,@IdClass配置注解联合主键。 2.联合主键必须设置主键类。该类必须实现Serializable接口 3.联合主键的映射: 默认:OneToOne:自动为将sql语句的fk对应的设置为主键类中的主键,名称使用默认的。 使用@JoinColumns({。。})来说明fk各个列名。 @OneToOne /*@JoinColumns({ ...

2013-10-09 22:19:00 65

转载 14.1:1映射的双向导航

1.类图中,需要双向导航,意味着Husband可以找到Wife,Wife可以找到Husband。 2.数据库表设计中,无论是查询那个表的信息,都只需要一个外键就可以通过sql搞定。 所以,映射的时候,在Wife类中必须是要增加Husband属性以及getter和setter。如果标记这个“组件”呢? 通过以上的分析,wife表中并不需要husband这个列,因为husband表已经包含了...

2013-10-09 21:50:00 128

转载 13.1:1映射

husband与wife 类图:(对象之间的对应) 一个husband对应一个wife,故wife的多重性为1; 一个wife对应一个husband,故husband多重性为1; 现在确定导航性为:Husband可以找到Wife。则在husband类中,包含一个Wife对象即可。 POJO为:Husband.java: @Entitypublic class Husband {...

2013-09-27 23:27:00 83

转载 12.实体Bean的三种状态

实体Bean的三种状态如下图:判断依据1.bean有无ID2.Session缓存有无bean的ID和Bean的引用组成的map。3.数据库有无Bean。状态转换Teacher t = new Teacher();t.setName("ddd");//t是transient(t没有或有id,session缓存没有t,数据库没有t)sess...

2013-09-24 13:52:00 137

转载 11.hibernate核心编程接口--2

JTA与JDBC JTA事务比JDBC事务更强大。一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一的数据库连接。下列任一个Java平台的组件都可以参与到一个JTA事务中:JDBC连接、JDO PersistenceManager 对象、JMS 队列、JMS 主题、企业JavaBeans(EJB)、一个用J2EE Connector Architecture 规范编...

2013-09-24 13:42:00 59

转载 10.hibernate核心编程接口--1

1. HibernateAPI文档需要单独下载2. ConfigurationA) AnnotationConfigurationB) 进行配置信息的管理C) 用来产生SessionFactory:维护数据库连接池D) 只需关注一个方法即:buildSessionFactory()E) 可以在configure()方法中设置hibernate配置文件。3. S...

2013-09-23 13:54:00 61

转载 9.annotation配置联合主键

3种联合主键方法:Annotationi. @Embeddble @Idii. @EmbeddedID(*)iii. @ Id @IdClass(*)第一种@Embeddble @Id主键类:TeacherPk类中包含联合主键id,name.这个类必须实行implements Serializable。import javax.persistence...

2013-09-23 12:55:00 86

转载 8.annotation配置id产生策略

在@id下面,使用mysql使用:@GeneratedValue(strategy = GenerationType.IDENTITY)数据库自动选择:@GeneratedValue(strategy = GenerationType.AUTO)如果使用Table_Generator则可以跨数据库平台。hibernate建立一个表为多个表提供主键值...

2013-09-23 11:18:00 117

转载 7.xml中配置自动生成主键值

主键值在向数据库中插入的时候,一般不需要从用户那里获得,所以它一般只是标示记录的一个无意义的字段。在向数据库中插入的时候,让数据库自动生成。mysql的自动生成类型为auto_increment,oralce使用sequence。 如果让hibernate自动建表,那么需要设置ID的产生器,以此来得到不同数据库平台的自动生成值得列类型。比如mysql,oracle。还可以通过算法计算,来...

2013-09-22 18:16:00 205

转载 6.枚举类型映射

enum类型的属性会默认映射为Integer列类型,值自然就是整数。而数据库中不需要存储整数,需要存储字符串的值。比如Color.GREEN在数据库中存储的值是green,而不是定义枚举时,这个元素的序号. hibernate使用 @Enumerated(value=EnumType.STRING)来完成上述功能。这时,对应的列类型就是varchar了。如果使用@Enum...

2013-09-21 17:25:00 150

转载 5.时间字段映射

在数据库中,表示时间类型的数据有DATE, TIME, 和 TIMESTAMP三种精度(即单纯的日期,时间,或者两者兼备). 可使用@Temporal注解来调整精度.java里面的时间类型为java.util.Date。这个类在hibernate默认转换时,转换为数据库中的timestamp类型。通过@Temporal(TemporalType.DATE/Temporal.TIME/...

2013-09-21 16:35:00 86

转载 4.annotation基本配置

annotation的官方文档以下所有参考都来自官方文档。在官方下载的包中。比如hibernate-annotations-3.4.0.GA\doc\reference\zh_cn\html_singleannotaiton与hbm.xml的优先级不能多次声明同一个类(要么通过注解要么通过hbm.xml配置文件), 而且在一个映射实体的类继承层次中,这两个配置策略不能同时使用...

2013-09-20 09:57:00 137

转载 3.hibernate基础配置

hbm2ddl.auto--是否让hibernate自动实现ddl <property name="hbm2ddl.auto">create</property>从百度上直接copy的解释:create: 每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表...

2013-09-18 22:41:00 64

转载 2.Annotation代替o-r-mapping文件。使用annotation插入Teacher对象

下载jar文件: http://sourceforge.net/projects/hibernate/files/hibernate-annotations/ 导入jar hibernate-annotations.jar,ejb3-persistence.jar,hibernate-common-annotations.jar 建立teacher表 create table teach...

2013-09-17 12:44:00 78

转载 1.初识hibernate

简介 hibernate是一种Object-relationship-mapping的框架。 hibernate可以让数据库操作以面向对象的方式进行。 hibernate屏蔽不同数据库sql语句之间的区别,面向接口编程。 配置文件 hibernate主配置文件配置数据库参数,名称为hibernate.cfg.xml。放在src根目录。 hibernate对象关系映射文件配置对象和表的映射...

2013-09-16 20:57:00 64

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除