Java持久层之Hibernate:02_Hibernate相关概念以及API简单使用

本文详细介绍了Hibernate中的实体类编写规则,包括属性的get/set方法,主键生成策略如increment、identity、sequence等,并探讨了不同主键策略的适用场景。此外,还讲解了如何进行CRUD操作,以及对象的瞬时态、持久态和托管态。还涉及了Hibernate的一级和二级缓存机制,事务操作以及Query、Criteria和SQLQuery三种查询方式的使用。
摘要由CSDN通过智能技术生成


Hibernate中实体类编写规则

  • 实体类中的属性需要同时提供get与set方法
  • 实体类中的属性需要有与之对应的成员变量
  • 与属性对应的成员变量必须都定义为private
  • 实体类中必须提供一个属性具有惟一值:一般使用id属性即可
  • 实体类属性对应的成员变量的类型不建议使用基本类型:使用基本类型的包装类型:例如如果使用int score来表示学生的分数的话,score=0只能表示学生的分数为0,不知道学生是否参加了考试;如果使用Integer score来表示学生的分数的话,score=0就能明确表示分数为0;而score=null就能明确表示学生没有参数考试

Hibernate主键生成策略

  • Hibernate要求实体类中必须有一个属性具有惟一值,对应表中的主键:表中的主键可以有不同的生成策略
<hibernate-mapping>
	<class name="com.ycom.hibernate.entity.User" table="t_user">
		<id name="uid" column="uid">
			<!-- 主键生成策略: 自增长 -->
			<generator class="native"></generator>
			<!-- 主键生成策略:uuid -->
			<!-- <generator class="uuid"></generator> -->
		</id>
		
		<property name="username" column="username"></property>
		<property name="password" column="password"></property>
		<property name="address" column="address"></property>
	</class>
</hibernate-mapping>

在这里插入图片描述

主键生成策略:increment

在这里插入图片描述

主键生成策略:identity

在这里插入图片描述

主键生成策略:sequence

  • MySQL数据库也支持sequence策略
    在这里插入图片描述

主键生成策略:native

  • 在MySQL中的native策略等同于identity策略
    在这里插入图片描述

主键生成策略:uuid

  • 要求表的主键类型与实体类中唯一属性的类型必须是字符串
    在这里插入图片描述

主键生成策略:assigned


对实体类进行简单的CRUD操作

在这里插入图片描述

  • 实体类代码
package com.ycom.hibernate.entity;

public class User {
   
	private int uid;
	private String username;
	private String password;
	private String address;
	
	public int getUid() {
   
		return uid;
	}
	public void setUid(int uid) {
   
		this.uid = uid;
	}
	public String getUsername() {
   
		return username;
	}
	public void setUsername(String username) {
   
		this.username = username;
	}
	public String getPassword() {
   
		return password;
	}
	public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值