`
zy77612
  • 浏览: 285579 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HiberNate学习-1入门

 
阅读更多

一、Hibernate必须包(3.2)
hibernate3.jar:Hibernate的核心库
cglib-2.1.3.jar:
Hibernate用它来实现PO字节码的动态生成,非常核心的库

asm.jar:cglib所使用的库
asm-attrs.jar:
cglib所使用的库
dom4j-1.6.1.jar:Hibernate用它来读写配置文件
commons-logging-1.0.4.jar:用于日志管理
commons-collections-2.1.1.jar:
包含了一些Apache开发的集合类,功能比java.util.*强大
antlr-2.7.6.jar:是语法分析生成器

 

二、配置hibernate.cfg.xml

Hibernate.cfg.xml代码 复制代码 收藏代码
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <!DOCTYPE hibernate-configuration PUBLIC
  3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  4. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  5. <hibernate-configuration>
  6. <session-factory>
  7. <property name="dialect">
  8. org.hibernate.dialect.MySQLDialect
  9. </property>
  10. <property name="connection.url">
  11. jdbc:mysql://localhost:3306/jpa?useUnicode=true&amp;characterEncoding=UTF-8
  12. </property>
  13. <property name="connection.username">root</property>
  14. <property name="connection.password">root</property>
  15. <property name="connection.driver_class">
  16. com.mysql.jdbc.Driver
  17. </property>
  18. <!-- hibernate属性 -->
  19. <!-- 是否显示执行的sql语句 -->
  20. <property name="show_sql">true</property>
  21. <!-- 显示执行的sql语句是否格式化 -->
  22. <property name="format_sql">true</property>
  23. <!-- 根据配置文件创建表 -->
  24. <property name="hbm2ddl.auto">update</property>
  25. <mapping resource="com/tao/hibernate/Student.hbm.xml"/>
  26. </session-factory>
  27. </hibernate-configuration>
<?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">

<hibernate-configuration>

	<session-factory>
		<property name="dialect">
			org.hibernate.dialect.MySQLDialect
		</property>
		<property name="connection.url">
			jdbc:mysql://localhost:3306/jpa?useUnicode=true&amp;characterEncoding=UTF-8
		</property>
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>
		<property name="connection.driver_class">
			com.mysql.jdbc.Driver
		</property>

		<!-- hibernate属性 -->
		<!-- 是否显示执行的sql语句 -->
		<property name="show_sql">true</property>
		<!-- 显示执行的sql语句是否格式化 -->
		<property name="format_sql">true</property>
		<!-- 根据配置文件创建表 -->
		<property name="hbm2ddl.auto">update</property>
		
		<mapping resource="com/tao/hibernate/Student.hbm.xml"/>

	</session-factory>

</hibernate-configuration>

 

三、配置ORM映射

1.创建java类

Student.java代码 复制代码 收藏代码
  1. package com.tao.hibernate;
  2. import java.io.Serializable;
  3. @SuppressWarnings("serial")
  4. public class Student implements Serializable {
  5. private Integer id;
  6. private String name;
  7. public Student() {
  8. super();
  9. }
  10. public Integer getId() {
  11. return id;
  12. }
  13. public void setId(Integer id) {
  14. this.id = id;
  15. }
  16. public String getName() {
  17. return name;
  18. }
  19. public void setName(String name) {
  20. this.name = name;
  21. }
  22. }
package com.tao.hibernate;

import java.io.Serializable;

@SuppressWarnings("serial")
public class Student implements Serializable {
	private Integer id;
	private String name;

	public Student() {
		super();
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

2.配置表映射文件

Student.hbm.xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <hibernate-mapping>
  5. <class name="com.tao.hibernate.Student" table="student" schema="jpa">
  6. <id name="id" type="java.lang.Integer" column="id">
  7. <generator class="identity" />
  8. </id>
  9. <property name="name" type="java.lang.String">
  10. <column name="name" length="16" />
  11. </property>
  12. </class>
  13. </hibernate-mapping>
<?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">

<hibernate-mapping>
	<class name="com.tao.hibernate.Student" table="student" schema="jpa">
		<id name="id" type="java.lang.Integer" column="id">
			<generator class="identity" />
		</id>
		<property name="name" type="java.lang.String">
			<column name="name" length="16" />
		</property>
	</class>
</hibernate-mapping>

注:映射文件已经在二中加入了。如果没有加入,自己手动加入。

四、数据操作类

Java代码 复制代码 收藏代码
  1. package com.tao.hibernate;
  2. import java.util.List;
  3. import org.hibernate.Query;
  4. import org.hibernate.Session;
  5. import org.hibernate.SessionFactory;
  6. import org.hibernate.Transaction;
  7. import org.hibernate.cfg.Configuration;
  8. publicclass StudentDAO {
  9. private Session session = null;
  10. public StudentDAO() {
  11. //创建一个Configuration对象,此时Hibernate会默认加载classpath中的配置文件hibernate.properties
  12. //<span style="color: rgb(0, 0, 0); font-size: x-small;">configura()方法:用于告诉Hibernate加载hibernate.cfg.xml文件。</span>
  13. Configuration config = new Configuration().configure();
  14. SessionFactory factory = config.buildSessionFactory();
  15. session = factory.openSession();
  16. }
  17. publicvoid save(Student student) {
  18. Transaction tran = session.getTransaction();
  19. tran.begin();
  20. session.save(student);
  21. tran.commit();
  22. }
  23. publicvoid update(Student student) {
  24. Transaction tran = session.beginTransaction();
  25. tran.begin();
  26. session.update(student);
  27. tran.commit();
  28. }
  29. publicvoid delete(Integer id) {
  30. String hql = "delete from Student o where o.id = ?";
  31. Transaction tran = session.beginTransaction();
  32. tran.begin();
  33. Query query = session.createQuery(hql);
  34. query.setParameter(0, id);
  35. query.executeUpdate();
  36. tran.commit();
  37. }
  38. @SuppressWarnings("unchecked")
  39. public Student getModel(Integer id) {
  40. String hql = "from Student o where id = :id";
  41. Query query = session.createQuery(hql);
  42. query.setParameter("id", id);
  43. List list = query.list();
  44. if (list != null && list.size() == 1) {
  45. return (Student) list.get(0);
  46. } else {
  47. returnnull;
  48. }
  49. }
  50. @SuppressWarnings("unchecked")
  51. public List getPagination(int maxResults, int firstResult) {
  52. String hql = "from Student o";
  53. Query query = session.createQuery(hql);
  54. query.setFirstResult(firstResult);
  55. query.setMaxResults(maxResults);
  56. return query.list();
  57. }
  58. }
package com.tao.hibernate;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class StudentDAO {
	private Session session = null;

	public StudentDAO() {
                //创建一个Configuration对象,此时Hibernate会默认加载classpath中的配置文件hibernate.properties
                //configura()方法:用于告诉Hibernate加载hibernate.cfg.xml文件。

		Configuration config = new Configuration().configure();
		SessionFactory factory = config.buildSessionFactory();
		session = factory.openSession();
	}

	public void save(Student student) {
		Transaction tran = session.getTransaction();
		tran.begin();
		session.save(student);
		tran.commit();
	}

	public void update(Student student) {
		Transaction tran = session.beginTransaction();
		tran.begin();
		session.update(student);
		tran.commit();
	}

	public void delete(Integer id) {
		String hql = "delete from Student o where o.id = ?";
		Transaction tran = session.beginTransaction();
		tran.begin();
		Query query = session.createQuery(hql);
		query.setParameter(0, id);
		query.executeUpdate();
		tran.commit();
	}

	@SuppressWarnings("unchecked")
	public Student getModel(Integer id) {
		String hql = "from Student o where id = :id";
		Query query = session.createQuery(hql);
		query.setParameter("id", id);
		List list = query.list();
		if (list != null && list.size() == 1) {
			return (Student) list.get(0);
		} else {
			return null;
		}
	}

	@SuppressWarnings("unchecked")
	public List getPagination(int maxResults, int firstResult) {
		String hql = "from Student o";
		Query query = session.createQuery(hql);
		query.setFirstResult(firstResult);
		query.setMaxResults(maxResults);
		return query.list();
	}
}

 

五、测试代码类

Java代码 复制代码 收藏代码
  1. package com.tao.hibernate;
  2. import java.util.List;
  3. publicclass Test {
  4. @SuppressWarnings("unchecked")
  5. publicstaticvoid main(String[] args) {
  6. StudentDAO dao = new StudentDAO();
  7. // 添加
  8. // for (int i = 0; i < 10; i++) {
  9. // Student student = new Student();
  10. // student.setName("Tao" + i);
  11. // dao.save(student);
  12. // }
  13. // 删除
  14. // dao.delete(2);
  15. // 修改
  16. // Student student = new Student();
  17. // student.setId(4);
  18. // dao.update(student);
  19. // 单个查询
  20. // Student s = dao.getModel(4);
  21. // System.out.println(s.getName());
  22. // 分布查询
  23. List list = dao.getPagination(4, 1);
  24. for (int i = 0; i < list.size(); i++) {
  25. Student std = (Student) list.get(i);
  26. System.out.println(std.getName());
  27. }
  28. }
  29. }

Hibernate SQL方言 (hibernate.dialect)

如果出现如下错误,则可能是Hibernate SQL方言 (hibernate.dialect)设置不正确。
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]'last_insert_id' 不是可以识别的 函数名。

RDBMS 方言
DB2 org.hibernate.dialect.DB2Dialect
DB2 AS/400 org.hibernate.dialect.DB2400Dialect
DB2 OS390 org.hibernate.dialect.DB2390Dialect
PostgreSQL org.hibernate.dialect.PostgreSQLDialect
MySQL org.hibernate.dialect.MySQLDialect
MySQL with InnoDB org.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAM org.hibernate.dialect.MySQLMyISAMDialect
Oracle (any version) org.hibernate.dialect.OracleDialect
Oracle 9i/10g org.hibernate.dialect.Oracle9Dialect
Sybase org.hibernate.dialect.SybaseDialect
Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect
Microsoft SQL Server org.hibernate.dialect.SQLServerDialect
SAP DB org.hibernate.dialect.SAPDBDialect
Informix org.hibernate.dialect.InformixDialect
HypersonicSQL org.hibernate.dialect.HSQLDialect
Ingres org.hibernate.dialect.IngresDialect
Progress org.hibernate.dialect.ProgressDialect
Mckoi SQL org.hibernate.dialect.MckoiDialect
Interbase org.hibernate.dialect.InterbaseDialect
Pointbase org.hibernate.dialect.PointbaseDialect
FrontBase org.hibernate.dialect.FrontbaseDialect
Firebird org.hibernate.dialect.FirebirdDialect
 
 

HiberNate的基本映射

 

实体类--表

实体类中的普通属性--表字段

 

采用<class>标签映射数据库表,通过<porperty>标签将普通属性映射成表字段。

所谓普通属性指不包括自定义类、集合、数组等。

 

注意:如果实体类和实体类的属性和SQL中的关键字重复,必须使用table或column重新命名。

 

实体类的设计原则:

(1):实现一个默认的(即无参数的)构造方法(constructor)

(2):提供一个标识属性(identifier property)(可选)

(3): 使用非final的类 (可选)

(4):为持久化字段声明访问器(accessors)和是否可变的标志(mutators)(可选)

 

例代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <hibernate-mapping package="com.tao.hibernate">
  5. <class name="Student" table="student" schema="jpa">
  6. <id name="id" type="java.lang.Integer" column="id">
  7. <generator class="native" />
  8. </id>
  9. <property name="name" type="java.lang.String">
  10. <column name="name" length="16" />
  11. </property>
  12. </class>
  13. </hibernate-mapping>
<?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">

<hibernate-mapping package="com.tao.hibernate">
	<class name="Student" table="student" schema="jpa">
		<id name="id" type="java.lang.Integer" column="id">
			<generator class="native" />
		</id>
		<property name="name" type="java.lang.String">
			<column name="name" length="16" />
		</property>
	</class>
</hibernate-mapping>

 

详细介绍:

一:<hibernate-mapping>标签:

Xml代码 复制代码 收藏代码
  1. <hibernate-mapping
  2. auto-import="true|false"
  3. package="package.name"
  4. />
<hibernate-mapping
	auto-import="true|false"
	package="package.name"
 />

(1):package (可选): 指定一个包前缀,如果在映射文档中没有指定全限定的类名, 就使用这个作为包名。

(2):auto-import(可选 - 默认为 true):指定我们是否可以在查询语言中使用非全限定的类名(仅限于本映射文件中的类)。

 

二:<class>标签:

Sql代码 复制代码 收藏代码
  1. <class
  2. name="ClassName"
  3. table="tableName"
  4. dynamic-update="true|false"
  5. dynamic-insert="true|false"
  6. lazy="true|false"
  7. />
<class
	name="ClassName"  
	table="tableName"        
	dynamic-update="true|false"
	dynamic-insert="true|false"       
	lazy="true|false"       
/>

(1):name (可选): 持久化类(或者接口)的Java全限定名。 如果这个属性不存在,Hibernate将假定这是一个非POJO的实体映射。

(2):table (可选 - 默认是类的非全限定名): 对应的数据库表名。

(3):dynamic-update (可选, 默认为 false): 指定用于UPDATE的SQL将会在运行时动态生成,并且只更新那些改变过的字段。

(4):dynamic-insert (可选, 默认为 false): 指定用于INSERT的 SQL 将会在运行时动态生成,并且只包含那些非空值字段。

(5):lazy (可选): 通过设置lazy="false", 所有的延迟加载(Lazy fetching)功能将被全部禁用(disabled)。

 

三:<id>标签:

Sql代码 复制代码 收藏代码
  1. <id
  2. name="propertyName"
  3. type="typename"
  4. column="column_name"
  5. <generator class="generatorClass"/>
  6. </id>
<id
	name="propertyName" 
	type="typename"
	column="column_name"
	<generator class="generatorClass"/>
</id>

(1):name (可选): 标识属性的名字。

(2):type (可选): 标识Hibernate类型的名字。
(3):column (可选 - 默认为属性名): 主键字段的名字。

 

 

四:<generator>标签:

Sql代码 复制代码 收藏代码
  1. <id name="id" type="long"column="cat_id">
  2. <generator class="org.hibernate.id.TableHiLoGenerator">
  3. <param name="table">uid_table</param>
  4. <param name="column">next_hi_value_column</param>
  5. </generator>
  6. </id>
<id name="id" type="long" column="cat_id">
	<generator class="org.hibernate.id.TableHiLoGenerator">
		<param name="table">uid_table</param>
		<param name="column">next_hi_value_column</param>
	</generator>
</id>

(1):class:主键生成器的名称,Hibernate提供了很多内置的实现:

a.increment:用于为long, short或者int类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。

b.identity

对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。 返回的标识符是long, short或者int类型的。

c.sequence

在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence), 而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。

d.uuid

用一个128-bit的UUID算法生成字符串类型的标识符, 这在一个网络中是唯一的(使用了IP地址)。UUID被编码为一个32位16进制数字的字符串。

e.hilo

使用一个高/低位算法高效的生成long, short或者 int类型的标识符。给定一个表和字段(默认分别是 hibernate_unique_keynext_hi)作为高位值的来源。 高/低位算法生成的标识符只在一个特定的数据库中是唯一的。

f.native

根据底层数据库的能力选择identity, sequence或者hilo中的一个。

g.assigned让应用程序在save()之前为对象分配一个标示符。这是 <generator>元素没有指定时的默认生成策略。

(2):param:生成器实例需要某些配置值或者初始化参数, 用<param>元素来传递

 

五:<property>标签:

Sql代码 复制代码 收藏代码
  1. <property
  2. name="propertyName"
  3. column="column_name"
  4. type="typename"
  5. update="true|false"
  6. insert="true|false"
  7. lazy="true|false"
  8. unique="true|false"
  9. not-null="true|false"
  10. length="L"
  11. />
<property
        name="propertyName"
        column="column_name"
        type="typename"
        update="true|false"
        insert="true|false"
        lazy="true|false"
        unique="true|false"
        not-null="true|false"
        length="L"       
/>

(1):name: 属性的名字,以小写字母开头。

(2):column (可选 - 默认为属性名字): 对应的数据库字段名。 也可以通过嵌套的<column>元素指定。

(3):type (可选): 一个Hibernate类型的名字。

(4):update, insert (可选 - 默认为 true) : 表明用于UPDATE和/或 INSERT的SQL语句中是否包含这个被映射了的字段。这二者如果都设置为false则表明这是一个“外源性(derived)”的属性,它的值来源于映射到同一个(或多个) 字段的某些其他属性,或者通过一个trigger(触发器)或其他程序生成

(5):lazy (可选 - 默认为 false): 指定 指定实例变量第一次被访问时,这个属性是否延迟抓取(fetched lazily)( 需要运行时字节码增强)。

(6):unique (可选): 使用DDL为该字段添加唯一的约束。 同样,允许它作为property-ref引用的目标。

(7):not-null (可选): 使用DDL为该字段添加可否为空(nullability)的约束。

(8):length (可选): 使用DDL为该字段指定长度。

 

 

 

复合主键代码 复制代码 收藏代码
  1. <?xml version="1.0"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC
  3. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  4. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  5. <hibernate-mapping>
  6. <class name="com.bjsxt.hibernate.FiscalYearPeriod" table="t_fiscal_year_period">
  7. <composite-id name="fiscalYearPeriodPK">
  8. <key-property name="fiscalYear"/>
  9. <key-property name="fiscalPeriod"/>
  10. </composite-id>
  11. <property name="beginDate"/>
  12. <property name="endDate"/>
  13. <property name="periodSts"/>
  14. </class>
  15. </hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.bjsxt.hibernate.FiscalYearPeriod" table="t_fiscal_year_period">
		<composite-id name="fiscalYearPeriodPK">
			<key-property name="fiscalYear"/>
			<key-property name="fiscalPeriod"/>	
		</composite-id>
		<property name="beginDate"/>
		<property name="endDate"/>
		<property name="periodSts"/>
	</class>
</hibernate-mapping>
组件映射代码 复制代码 收藏代码
  1. <?xml version="1.0"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC
  3. "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  4. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  5. <hibernate-mapping>
  6. <class name="com.bjsxt.hibernate.User" table="t_user">
  7. <id name="id">
  8. <generator class="native"/>
  9. </id>
  10. <property name="name"/>
  11. <component name="contact">
  12. <property name="email"/>
  13. <property name="address"/>
  14. <property name="zipCode"/>
  15. <property name="contactTel"/>
  16. </component>
  17. </class>
  18. </hibernate-mapping>
分享到:
评论

相关推荐

    hibernate教程-从入门到精通-第4篇(共四篇)共2

    【hibernate教程-从入门到精通-第4篇(共四篇)共2】这篇教程是关于Java持久层框架Hibernate的学习指南,旨在帮助初学者深入理解并掌握Hibernate的核心概念和技术。Hibernate作为一款强大的对象关系映射(ORM)工具,...

    hibernate入门--第一个实例

    【hibernate入门--第一个实例】 Hibernate 是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。通过使用Hibernate,我们可以将数据库操作转换为对Java对象的操作,从而简化了数据库...

    Hibernate入门 - 基础配置

    【Hibernate入门 - 基础配置】 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。...学习并熟练掌握Hibernate,对于提升Java应用的开发质量和效率大有裨益。

    spring-hibernate-structs入门教程

    《Spring-Hibernate-Structs 入门教程》 在当今的Java开发领域,Spring、Hibernate和Struts(Structs)是三个非常重要的框架,它们分别在应用层、持久层和表现层发挥着关键作用。本教程将带领你深入了解这三个框架...

    图书:Hibernate入门 - 第二版

    1. **Hibernate简介**:介绍Hibernate的基本概念、历史背景和在Java应用中的重要性。讨论它如何通过ORM解决传统JDBC编程中的问题,提高开发效率。 2. **环境配置**:详述如何设置开发环境,包括JDK、Eclipse或...

    hibernate-3.6.8-doc-zh

    1. `HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent`:这是Hibernate 3.6.8的主文档,详细阐述了Hibernate的核心概念、配置、API使用以及最佳实践。 2. `index.html`:文档的首页,通常包含目录、介绍...

    hibernate总结--云图智联

    Hibernate框架的学习和应用对于Java开发者而言是提升数据库操作能力的重要途径。通过理解和运用Hibernate框架,开发者可以更加高效地实现Java应用中的数据持久化需求,提高代码的质量和可维护性。

    Hibernate入门jar包

    本压缩包提供的是Hibernate入门所需的jar包,包括了Hibernate的核心库以及与之配合使用的相关组件。让我们深入探讨一下这些jar包以及它们在Hibernate中的作用。 1. Hibernate核心库: - `hibernate-core.jar`:这...

    hibernate-tutorials_java_hibernate_Eclipse_fallenweg_

    本教程针对初学者,旨在提供全面的Hibernate学习指南,结合Eclipse集成开发环境进行实战演练。通过本教程,读者将能够深入理解Hibernate的核心概念和实践应用。 1. **什么是Hibernate?** Hibernate是Java平台上的...

    hibernate入门课件--introduce hibernate.pdf

    ### Hibernate入门知识点详解 #### 一、概述 在IT领域,特别是软件开发中,数据库与对象之间的交互一直是项目...对于任何希望提高其Java应用持久层性能和可维护性的开发者来说,学习和掌握Hibernate都是非常必要的。

    java学习笔记---从入门到精通之路.pdf

    Java学习笔记---从入门到精通之路.pdf Java是当前最流行的编程语言之一,本笔记旨在帮助初学者从基础到精通J2EE高手之路。本笔记涵盖了Java基础知识、J2EE框架、Web开发、数据库操作、图形游戏开发等方面的知识点,...

    Hibernate学习入门教程

    ### Hibernate学习入门教程知识点解析 #### 一、Hibernate概述与重要性 - **定义**: Hibernate是一种Java语言下的对象关系映射(ORM)框架,它提供了一种机制,用于将Java对象映射到关系型数据库中的表格,从而...

    初学hibernate,hibernate入门

    **初学Hibernate,Hibernate入门** ...随着对Hibernate的深入学习,你会发现它还支持更高级的功能,如级联操作、多对一、一对多等复杂关系映射、缓存机制、延迟加载等,这些都将极大地提升你的开发效率。

    Beginning-Hibernate-2nd-Edition.pdf

    《Beginning Hibernate 第二版》是一本非常适合初学者入门和进阶使用的 Hibernate 教程书籍。通过本书的学习,读者不仅可以掌握 Hibernate 的基础用法,还能深入了解其内部机制和高级特性,从而能够在实际开发工作中...

    hibernate学习笔记-01helloword

    【标题】"hibernate学习笔记-01helloworld"主要涵盖了Hibernate框架的基础入门知识,是初学者了解和掌握Hibernate的重要起点。Hibernate是一款强大的Java对象关系映射(ORM)框架,它简化了数据库操作,使得开发者...

    Hibernate入门案例源码

    通过深入学习和实践这个入门案例,你将能够熟练掌握Hibernate的基本操作,为进一步学习更复杂的数据库操作和高级特性打下坚实基础。记得在实践中不断尝试和调试,以便更好地理解和掌握Hibernate的精髓。

    Hibernate-ORM-5.4.30 官方文档: 入门指南

    总而言之,Hibernate ORM 5.4.30 入门指南是一份宝贵的学习资源,尤其对于那些希望在Java应用程序中实现高效、优雅数据库操作的开发者来说更是如此。通过逐步的教程和实例代码,用户能够快速掌握Hibernate的基本使用...

    Hibernate快速入门教程

    【Hibernate快速入门教程】 在Java开发中,Hibernate是一个非常重要的框架,它实现了对象关系映射(ORM)技术,使得开发者可以使用面向...这个快速入门教程提供了清晰的步骤和简单的示例,是学习Hibernate的绝佳起点。

    MyEclipse+Hibernate快速入门中文版

    ### MyEclipse+Hibernate快速入门知识点详解 #### 一、前言 本文档旨在通过一个简单易懂的方式,介绍如何在MyEclipse环境下配置并使用Hibernate框架。这是一份非常适合初学者使用的指南,特别是对于那些希望快速...

Global site tag (gtag.js) - Google Analytics