首页 > 学院 > 开发设计 > 正文

Hibernate笔记

2019-11-08 02:23:04
字体:
来源:转载
供稿:网友

实体类的编写规则

属性私有化私有属性的getter/setter方法要求实体类有属性作为唯一值(一般使用ID值)

实体类属性建议不使用基本数据类型,应使用基本数据类型对应的包装类

-- 因为基本数据类型无法表示无数据 -- 示例:表示学生分数 int score; score = 0; 表示学生得了0分,但不能准确学生是否参加了考试 Integer score = null; 则可以准确表示学生是否参加了考试

Hibernate的主键生成策略

要求实体类有属性作为唯一值,对应表中的主键,主键可以不同生成策略Hibernate的主键生成策略 <generator class="native"></generator>

native

uuid

id必须是字符串类型

Hibernate实体类的状态

瞬时态

对象没有id值,与session无关联

//例如:如下对象User user = new User();user.setUsername("Rose");user.setPassWord("123456");user.setAddress("广东广州");

持久态

对象有id值,与session有关联

User tuser = session.get(User.class, 2);

托管态

对象有id值,与session无关联

User u = new User();u.setUid(1);

Hibernate 绑定session

获取与本地线程session

在hibernate核心配置文件中配置<!-- 绑定本地线程--><PRoperty name="hibernate.current_session_context_class">thread</property>提供返回与本地线程绑定的session实例public static Session getCurrentSession(){ return sessionFactory.getCurrentSession();}获取与本地线程绑定session实例时候,不用手动关闭session,若关闭则会报错org.hibernate.SessionException: Session was already closed
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表