随笔分类 - Hibernate
摘要:悲观锁和乐观锁是:在事务隔离机制中设置了ReadCommited的情况下,两种可以避免不可重复读的方式。 设置成读已提交是考虑到安全和处理速度,保证并发效率,但是在这个情况下仍然需要避免不可重复读这种情况,于是hibernate提供两种锁来解决这个问题。 悲观锁:自己事务完成之前别人不能动数据。依赖于数据库,“for update” import javax.p...
阅读全文
摘要:一个主表,其他的表每个都有自己的表来装填自己特有的部分,共同的部分就放在主表中。 package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.p...
阅读全文
摘要:Person,Student,Teacher各创建一个表,主键用一个中间表生成。 package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; im...
阅读全文
摘要:三种继承映射关系。 1,SINGLE_TABLE person student teacher 在一个表中,student和teacher继承自person,通过一个DiscriminatorValue的内容来标识该条内容是student还是teacher。 package com.bjsxt.hibernate; import javax.persistence.Di...
阅读全文
摘要:list方法会一次查出所有内容,放在list里和缓存中。再次查询同一内容仍然会去数据库重新查一遍,并刷新缓存。 iterate方法会一次查出所有内容的ID,等用到某个ID对应的内容时又会去根据主键查询内容,并放在缓存中,当再次查询相同的内容时不再查询数据库,直接调用session级缓存。 import java.util.Date; import java.util.Iterator...
阅读全文
摘要:1+N就是在hibernate中第一次查一个所需要的表的内容,他会把别的相关表的内容也查询一遍。 解决办法有三种: 1,设置LAZY。 2,借鉴createCriteria的查询语句,from Topic t left join fetch t.category c,通过join fetch来屏蔽多于查询。 3,将多次查询整成一次查询。给多于表加上BatchSize注解。这种方法并没...
阅读全文
摘要:在功能方面是本地SQL>HQL>EJBQL>QBC>QBE 假想一个BBS。 板块: package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity...
阅读全文
摘要:学生和课程是多对多,一个学生的一个课程只能对应一个成绩。 所以学生和课程多对多,其中间表多了一个成绩字段。 可以这样设计: 学生和课程通过中间表--成绩,多对多映射。 手动建中间表语句: create table score(id int primary key auto_increment,student_id int refrences student(id),cours...
阅读全文
摘要:package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; impo...
阅读全文
摘要:转自尚学堂教学视频 package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Fetc...
阅读全文
摘要:package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import j...
阅读全文
摘要:多对多会利用中间表做外键的形式关联 package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; ...
阅读全文
摘要:package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import j...
阅读全文
摘要:package com.bjsxt.hibernate;import java.util.HashSet; import java.util.Set;import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.Table;@Ent...
阅读全文
摘要:(转自尚学堂教学内容) 注解多对一: package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @E...
阅读全文
摘要:注解方式: import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; i...
阅读全文
摘要:package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.pe...
阅读全文
摘要:单向双向在数据库中没有区别,但是在java程序中有区别。 在程序中:双向的通过一个就可以找到另一个,单向的通过设置了对应关系的类可以找到它所对应的类,反过来就不行。 注解方式单向主键关联: 和外键一样,只不过注解由@JoinColumn变成@PrimaryKeyJoinColumn import javax.persistence.Entity; import jav...
阅读全文
摘要:在上一篇博客内容的基础上做了以下修改,即可实现。 注解方式: package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persist...
阅读全文
摘要:这里的关系指的是对象与对象之间的关系注解方式单向关联一对一://这个类描述的husband是一个对应一个wife的import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToOne;@Entity public class Husband { private int id; ...
阅读全文