javaee
Belle唯唯
这个作者很懒,什么都没留下…
展开
-
hibernate 多对一映射
package hibernate.belle;public class User { private String id; private String name; private Group ttgroup; public String getId() { return id; } public void ...原创 2018-04-18 21:45:42 · 117 阅读 · 0 评论 -
HQL的悲观锁和乐观锁
悲观锁 就是读写时都加锁package hibernate_manytomany;import java.util.Date;import org.hibernate.LockMode;import org.hibernate.Session;import hibernate.belle.Inventory;import hibernate.belle.FiscalPK;im...原创 2018-06-16 21:00:37 · 318 阅读 · 0 评论 -
hql简单查询
查询单个属性:返回匹配的对象集 查询多个属性:返回对象数组 可以用Object接受 也可以 通过改构造函数 用属性对应的对象进行接受原创 2018-06-15 21:41:11 · 122 阅读 · 0 评论 -
Hibernate各种关联总结
n-1单向:在n的一端加many to one 用column多加一个字段 表示用这一列保存对方集合(名字随意)name用来映射类的属性1-1单向外键 :many to one unique1-1双向外键:many to one unique + one to one property-ref去指那个新增的字段1-N单向关联: 用set了 在一的一段 one to many 表示给...原创 2018-06-15 20:49:49 · 132 阅读 · 0 评论 -
三种继承表
一个子类一张表 并与主类(父类)共享主表 这种关系中,将父类单独映射到一张主表,而为子类分别单独设立一张子表,子表中只包含子类所扩展的属性,同时,子类和父类通过关系型数据库的外键关联<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hiberna...原创 2018-05-14 20:34:44 · 2558 阅读 · 0 评论 -
hibernate 一对多单向inverse
在class那一段正常来说 先保存学生再保存班级的话 则save学生后 发insert语句 此时classid为空 然后save class 发insert语句 最后update原先的学生 如果先存班级再存学生的话Hibernate: insert into t_class (name, id) values...原创 2018-05-14 18:15:44 · 138 阅读 · 0 评论 -
hibernate one-to-one单项主键映射
注意! 1 mapping里的name 和 类中的变量名应该是一样的! 2 两个id应该都是一个类型的 比如我的都是String类型的 否则会报错<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate M...原创 2018-04-29 21:35:23 · 208 阅读 · 0 评论 -
集合映射
当属性不是子类时 我们用集合类package hibernate.belle;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Set;public class Collection { pri...原创 2018-05-19 21:33:02 · 134 阅读 · 0 评论 -
Component映射
值类package hibernate.belle;public class Contact { private String email; private String address; private int zipcode; public String getEmail() { return email; } pu...原创 2018-05-19 20:40:19 · 152 阅读 · 0 评论 -
hibernate的name和column傻傻分不清
<property>中有 name 有了column **其中name是要mapping的列,必须保证和类里面的变量名一致** column则是 你在数据库里的别名 可选项在各种一对多 多对一中 也有 name class column name是在父类中定义的变...原创 2018-05-06 13:45:41 · 2122 阅读 · 0 评论 -
hibernate manytomany 双向
其他同单向 要保持 外键名和列名都要和单向的一致 否则会新增字段 对不上package hibernate.belle;import java.util.Set;public class Role { private int id; private String name; private Set users; public int getI...原创 2018-05-12 16:57:50 · 146 阅读 · 0 评论 -
hibernate manytomany 单向
单向 user对应多个role 在user这一对设置set集合 set里面 创一个关系表 关系表中创一个外键 userid 指向user 加一个列roleid指向 role<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-ma...原创 2018-05-12 16:39:39 · 267 阅读 · 0 评论 -
hibernate one to many 双向(不推荐单向)
many to one name指定了类定义的变量相同,”class”指定了关系属性的类型(也指定了与哪一个表关联), “column”属性是指定这个关联属性是按照”class_id”列的值,然后去查classes表。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//H...原创 2018-05-06 12:27:52 · 309 阅读 · 0 评论 -
复合主键
什么是序列化 就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存在数据库,内存,文件等),然后可以在适当的时候再将其状态恢复(也就是反序列化)。serialization 不但可以在本机做,而且可以经由网络操作。它自动屏蔽了操作系统的差异,字节顺序等。比如,在 Windows 平台生成一个对象并序列化之,然后通过网络传到一台 Unix 机器上,然后可以在这台Unix机器...原创 2018-05-17 21:09:43 · 354 阅读 · 0 评论 -
hibernate one to many 单向
package hibernate.belle;import java.util.Set;public class Classes { private String id; private String name; private Set studentss; /** * @return the name */ publi...原创 2018-05-04 21:50:13 · 136 阅读 · 0 评论 -
hibernate one to one双向唯一外键
package hibernate.belle;public class IDcard { private String no; private int id; private Person person; public int getId() { return id; } public void setId(int ...原创 2018-05-01 17:23:09 · 129 阅读 · 0 评论 -
Hiberate one to one 单向唯一外键关联
package hibernate.belle;public class Person { private int id; private String name;private IDcard idcard;public int getId() { return id;}public void setId(int id) { this.id =...原创 2018-05-01 13:07:03 · 150 阅读 · 0 评论 -
hibernate onetoone 双向主键映射
主键关联,就是两个一对一的实体共用相同的id 而唯一外键映射:是通过manytoone unique的方法 增加一个外键字段完成的onetoone不影响存储 只影响加载package hibernate.belle;public class IDcard { private String no; private String id; priva...原创 2018-05-01 11:08:29 · 191 阅读 · 0 评论 -
开启查询缓存
在cfg文件里要手动打开查询缓存 因为查询缓存默认是关闭的 并且在具体的createQuery语句中要将createCacheable(true) 且查询缓存只对listquery有效 (只发一条查询语句) 对iteratequery无效(仍然发两条,见下example)public void testload1(){ Session session=null; ...原创 2018-06-25 21:07:19 · 434 阅读 · 0 评论