`

hibernate xml基本配置复习小结

阅读更多

多对一,多对多 ,一对一

 

public class Item {

private Integer id; 

private String productName; 

private BigDecimal unitPrice; 

private int amount; 

private Order order;

}

public class Order {

private Integer id; 

private Date createDate;

private Set<Item> items = new HashSet<Item>();

//private int itemsNum; //用于计算item个数

//private int version //乐观锁

}

//继承关系映射

public class Product { 

private Integer id; 

private String name; 

private BigDecimal price;

}

public class Book extends Product { 

private String author; 

private String publisher;

}

//组合关系映射

public class Question { 

private Integer id; 

private String name; 

private String level;

}

public class ChoiceQuestion extends Question { 

private String options;

}

//组件关系映射

public class Person { 

private Integer id; 

private String name; 

private Address address;

}

public class Address { 

private String city; 

private String street;

}

 

Item.hbm.xml

<?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.tarena.tts.po">

<class name="Item" table="t_item">

<id name="id" column="t_id" type="integer">

<generator class="identity"></generator>

</id>

<property name="productName" column="t_product_name" type="string"/>

<property name="unitPrice" column="t_unit_price" type="big_decimal"/>

<property name="amount" column="t_amount" type="integer"/>

<many-to-one name="order" class="Order" column="t_order_id"// unique="true"一对一加添unique属性></many-to-one>

</class>

</hibernate-mapping>

 

Order.hbm.xml

<?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.tarena.tts.po">

<class name="Order" table="t_order">

//指定Order为二级缓存对象

<cache usage="read-only" region="SampleCache1"/>

<id name="id" column="t_id" type="integer">

<generator class="identity"></generator>

</id>

<!-- 

//乐观锁version标签必须跟在id标签后面加个字段

    <version name="version" column="ver" type="integer"></version>

//用于计算item个数

<property name="itemsNum" type="integer" formula="(select count(*) from t_item i where i.t_order_id=t_id)" /> 

 

//继承关系映射

<joined-subclass name="Book" table="t_book"> 

<key column="t_product_id" /> 

<property name="author" type="string" column="t_author" /> 

<property name="publisher" type="string" column="t_publisher" /> 

</joined-subclass>

 

//组合关系映射

<discriminator type="string" column="t_type" /> 

<subclass name="ChoiceQuestion" discriminator-value="c"> 

<property name="options" column="t_options" type="string" />

</subclass>

 

//组件关系映射

<component name="address" class="Address"> 

<property name="city" column="t_city" type="string" />

<property name="street" column="t_street" type="string" /> 

</component>

 

//自定义hql变量

<query name="findEmpByName"> <![CDATA[from Emp emp where emp.name=?]]> </query>

-->

<property name="createDate" type="timestamp" column="t_create_date" />

//一对多

<set name="items" cascade="all-delete-orphan" inverse="true" lazy="true" fetch="join">

<key column="t_order_id"/>

<one-to-many class="Item"/>

</set>

<!--

//多对多

<set name="courses" table="t_student_course"> 

<key column="t_student_id" />

<many-to-many class="Course" column="t_course_id" />

</set>

//一对多many(List)在list有序

<list name="persons">

<key column="t_team_id" />

<list-index column="t_turn" base="0" /> 

<one-to-many class="Person" /> </list>

//一对一

<one-to-one name="user" class="User" property-ref="xuesheng" />

-->

</class>

</hibernate-mapping>

 

hibernate.cfg.xml

<?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="connection.url">

jdbc:mysql://localhost:3306/hibernate_test?useUnicode=true&amp;characterEncoding=utf8

</property>

<property name="connection.username">root</property>

<property name="connection.password">root</property>

<property name="connection.pool_size">2</property>

<property name="dialect">

org.hibernate.dialect.MySQLDialect

</property>

<property name="connection.driver_class">

com.mysql.jdbc.Driver

</property>

<!-- 

//使用线程单例

<property name="current_session_context_class">thread</property>

//添加二级缓存,需要配置ehcache.xml

<property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>

//启用查询缓存,session.createQuery(...);query.setCacheable(true);...

<property name="hibernate.cache.use_query_cache">true</property>

-->

<property name="hibernate.show_sql">true</property>

<mapping resource="com/tarena/tts/po/Order.hbm.xml" /> 

<mapping resource="com/tarena/tts/po/Item.hbm.xml" />

</session-factory>

</hibernate-configuration>

 

 

0
0
分享到:
评论

相关推荐

    Hibernate XML配置表映射实例

    在本实例中,我们将深入探讨如何使用XML配置文件来实现Hibernate的表映射。 首先,Hibernate的XML配置文件通常被称为`hibernate.cfg.xml`,它是连接数据库、定义SessionFactory等核心设置的地方。在这个文件中,...

    Spring-hibernate结合使用全xml配置方式

    通过以上步骤,你已经成功地将Spring和Hibernate整合在一起,使用全XML配置方式实现了数据访问层。这种方式虽然较为繁琐,但能清晰地分离各层职责,便于管理和维护。在实际项目中,还可以考虑使用注解配置或者Spring...

    Hibernate配置文件hibernate.cfg.xml中配置信息详解

    Hibernate配置文件hibernate.cfg.xml中配置信息详解!

    SSH三大框架整合 struts2(使用xml配置)+hibernate(使用xml配置)+spring(使用xml配置)

    本项目整合了这三个框架,并使用XML配置来管理各个组件,实现了基本的CRUD(创建、读取、更新、删除)功能以及分页查询。 首先,Struts2作为表现层框架,负责处理HTTP请求,控制应用程序的流程。通过定义Action类和...

    Tomcat配置hibernate xml模板

    以上就是Tomcat中配置Hibernate XML模板的基本过程。注意,这只是一个基础示例,实际应用中可能需要考虑更多因素,如连接池配置、事务管理、性能优化等。理解并熟练掌握这些配置,能够帮助你更有效地在Java Web环境...

    08.拓薪教育-hibernate4.3的hibernate.cfg.xml基本配置.part2

    高级Hibernate4开发技术:ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,...

    hibernate xml

    "Hibernate XML"特指Hibernate配置和映射文件,这些文件通常以XML格式定义,用于描述Java类与数据库表之间的映射关系以及对象间的关联规则。 标题中的"hibernate xml"涉及到的主要知识点包括: 1. **Hibernate配置...

    hibernate4基本配置方式详解

    总之,Hibernate 4 的基本配置包括了XML配置文件、编程式配置、数据库连接方式(JDBC或DataSource)、连接池配置以及事务管理。理解并熟练掌握这些配置方法对于高效使用 Hibernate 进行数据库操作至关重要。

    08.拓薪教育-hibernate4.3的hibernate.cfg.xml基本配置.part1

    高级Hibernate4开发技术:ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate高级映射技术,...

    spring2.5+hibernate基于xml配置的实例

    在IT行业中,Spring和Hibernate是两个非常重要的框架,它们分别专注于依赖注入和对象关系映射。这个"spring2.5+hibernate基于xml配置的...尽管如此,理解XML配置对于理解Spring和Hibernate的基本工作原理仍然至关重要。

    hibernate xml配置和@注解配置关系映射

    针对hibernate关系映射进行了一个总结,包含xml配置形式和@注解配置形式,one-to-many,one-to-noe,many-to-one,many-to-many等单方向的配置和双方都配置的事例

    Hibernate基本配置演示

    **Hibernate基本配置演示** 在Java开发中,Hibernate是一款强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用Java对象来处理数据。这篇教程将深入讲解Hibernate的基本配置过程,确保你能顺利...

    Hibernate映射关系配置:XML方式和注解方式

    标题“Hibernate映射关系配置:XML方式和注解方式”涉及到的是Java持久层框架Hibernate中的一个重要概念——对象关系映射(ORM)。在这个主题中,我们将探讨如何通过XML映射文件和注解来配置Hibernate实体之间的关系...

    hibernate3.3.2所有jar包及xml配置文件

    "hibernate3.3.2所有jar包及xml配置文件" 这个标题表明我们要讨论的是关于Hibernate ORM框架的3.3.2版本,它包括了所有必要的jar包以及一个预配置的`hibernate.cfg.xml`文件。Hibernate是一个流行的Java框架,用于将...

    hibernate XML配置文件和相应的包

    在Hibernate中,XML配置文件扮演着至关重要的角色,它定义了实体类与数据库表之间的映射关系,以及数据源、SessionFactory等核心组件的配置。 XML配置文件通常命名为`hibernate.cfg.xml`,在这个文件中,开发者会...

    struts2-spring4-hibernate4_xml配置的框架

    Struts2-Spring4-Hibernate4 XML配置的框架是一个经典的Java Web开发架构,它整合了三个主流的开源框架:Struts2、Spring4和Hibernate4。这个框架的配置主要通过XML文件来完成,同时也可以结合注解的方式进行更加...

    Hibernate.cfg.xml配置总结

    《Hibernate.cfg.xml配置详解》 Hibernate作为一款强大的Java对象关系映射框架,其核心配置文件Hibernate.cfg.xml在项目中起着至关重要的作用。这个文件主要负责定义数据源、连接池、SQL方言、日志以及实体类映射等...

    hibernate的xml配置关系例子

    在这个"hibernate的xml配置关系例子"中,我们将探讨如何使用XML配置文件来定义Java对象与数据库表之间的映射关系。 1. Hibernate XML配置文件: Hibernate的核心配置文件通常是`hibernate.cfg.xml`,这个文件包含...

    hibernate.cfg.xml

    hibernate.cfg.xml hibernate框架的配置文件

Global site tag (gtag.js) - Google Analytics