Hiberbate

(页面-1)* 条数,条数 ---分页查询的公式
(2-1)*2,2

<property name="show_sql">true</property>--在控制台,可查看生成的sql语句
<property name="hbm2ddl.auto">update</property>--自动检测是否有表,否,则创建
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>--方言,

<?xml version=‘1.0‘ encoding=‘UTF-8‘?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> --映射配置文件

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">---文件配置文件

package -- 包名
catalog -- 数据库名
native -- id自增
column -- 表的字段名

《单向》
《一对一》
<one-to-one name="people" class="People" />
class -- 被设置的一端

《一对多》
<set name="students">
<key column="clazz_id" /> --- 多增加的字段的名
<one-to-many class="Student" /> -- 多方
</set>

《多对一》
<many-to-one name="calzz" column="calzz_id" />
calzz -- 一方
column="calzz_id" -- 新增的字段名

《多对多》
<set name="students" table="t_syudent_course"> -- 新增表
<key column="course_id" /> -- 新增的字段
<many-to-many class="Student" column="student_id" /> -- 新增的字段
</set>

cascade="all" -增-级联--一对多,多对多时使用
"save-update"--改,时使用
"delete" --删除时使用
inverse -- 关系和对象的级联关系

《hql》
excuteUpdate()--执行更新或删除语句
uniqueResult -- 一个返回值

《注解》
@Entity -- 注明这是一个持久化实体类
@Table(name="tbl_sky",catalog = "student") -- 定义表,name -- 为表的名称,catalog -- 数据库
@Id -- 注解为标识列,主键
@GeneratedValue(strategy = GenerationType.AUTO) -- 主键生成策略,自增
@Column -- 数据库字段
@ManyToOne -- 注解 多对一
@JoinColumn(name="role") -- 注解关系列
AnnotationConfiguration(); -- 解释注解

时间: 2024-08-08 09:26:07

Hiberbate的相关文章

hiberbate的工作原理

hibernate 简介:hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,而我们java程序员可以使用面向对象的思想来操纵数据库.hibernate核心接口session:负责被持久化对象CRUD操作sessionFactory:负责初始化hibernate,创建session对象configuration:负责配置并启动hibernate,创建SessionFactoryTransaction:负责事物相关的操作Query和Criteria接口:负责

Hiberbate 框架

Hibernate 框架 开发Hibernate程序的基本步骤 创建Hibernate配置文件 ---> 对数据库中数据进行配置 创建会话工厂类            ---> 可以很方便的获得Session对象 创建实体类            ---> 一个实体类对应一张数据库表 创建映射文件               ---> 指定哪个实体类和哪个数据库表对应 操作数据库                  ---> 可以进行数据库操作了 附录:小操作 MyEclips

@Transient注解----Hiberbate

@Transient表示该属性并非一个到数据库表的字段的映射,将会忽略该属性.如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic Example: @Entity public class Employee { @Id int id; @Transient User currentUser; ... }

hiberbate学习:session方法补充

一:测试用例 二:知识补充 1:saveOrUpdate 既可以执行insert也可以执行update.取决于对象有没有id 2:部分更新 Session session = factory.getCurrentSession(); session.beginTransaction(); Query query = (Query) session.createQuery("update Teacher t set t.name='zz' where t.id = 1"); query.

Hiberbate 集合属性

Hibernate 要求声明集合属性只能用 Set.List.Map.SortedSet.SortedMap 等接口,而不能用 HashSet.ArrayList.HashMap.TreeSet.TreeMap 等实现类,其原因就是因为 Hibernate 需要对集合属性进行延迟加载,而 Hibernate 的延迟加载是依靠 PersistentSet.PersistentList.PersistentMap.PersistentSortedMap.PersistentSortedSet 来完成

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Hibernate多表关系配置——多对多对关系映射

多对多关系:第一个表中的一个行可以与第二个表中的一个或多个行相关.第二个表中的一个行也可以与第一个表中的一个或多个行相关. 一般的设计中,多对多关联映射,需要一个中间表 Hibernate使用many-to-many标签来表示多对多 多对多的关联映射,在实体类中,跟一对多一样,也是用集合来表示的 1.实体 1.1 课程实体 package demo.entity; import java.util.HashSet; import java.util.Set; /** * 课程实体 * @auth

创建第一个Hiberntae工程

一.前言 很久之前已经对Hibernate有所了解,在项目中进行过简单的应用,基本了解hibernate的简单应用,没有深入的了解,来Shine公司快三个月了,公司的ORM框架就是用Hiberante,只是对Hibernate框架应用都进行了简单的封装,提升开发的效率.今天深入了看了一些Hiberbate基于原生态SQL查询,收获了不少,所以决定搭建一个Hibernate的小应用例子,进行深入的学习. 二.例子说明 这个小例子是基于商品类别.商品两张表进行搭建的,就是一个普通的java工程,项目

Hibernate个人学习笔记(1)

连接池c3p0所需jar包:Hiberbate开发包-lib-optional-c3p0下全部Jar包 Hiberbate连接池参数配置:Hiberbate开发包-project-etc-hibernate.properties hiberbate.cfg.xml参数(放在src下):<session-factory><!--配置mysql数据库连接参数--><property name="hibernate.dialect">org.hiberna