本人初学 hibernate , 望大家多指点
笔记下
xml 代码
xml 代码
- <property name="show_sql">true<!---->property> //控制台 运行 输出 sql
- <property name="hbm2ddl.auto">update<!---->property> // DB 中没表 就 由 mapping create 表
- <set name="fkSet" inverse="true" cascade="all"> //inverse =true 有主控 可以 update,delete,.... ; cascade='all' 可以级连 更新
- constranid 反向生成 DB
java 代码 CONFIG_FILE_LOCATION 为 /../hibernate.cfg.xml 路径
- static public void main(String[]args){
- Configuration cf = new Configuration().configure(CONFIG_FILE_LOCATION);
- System.out.println("Creating tables...");
- SchemaExport schemaExport = new SchemaExport(cf);
- schemaExport.create(true, true);
- } //由 hibernate.xml 建表
xml 代码
- <xml></xml> version='1.0' encoding='UTF-8'?>
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
-
- <hibernate-configuration>
- <session-factory>
- <property name="myeclipse.connection.profile">my<!---->property>
- <property name="connection.url">jdbc:mysql://localhost/hibernate<!---->property>
- <property name="connection.username">root<!---->property>
- <property name="connection.password">123456<!---->property>
- <property name="connection.driver_class">com.mysql.jdbc.Driver<!---->property>
- <property name="dialect">org.hibernate.dialect.MySQLDialect<!---->property>
- <property name="show_sql">true<!---->property>
- <property name="hbm2ddl.auto">update<!---->property>
- <mapping resource="bean/Fk.hbm.xml" />
- <mapping resource="bean/Hql.hbm.xml" />
- <!----><session-factory></session-factory>>
- <!----><hibernate-configuration></hibernate-configuration>>
Hql.hbm.xml
xml 代码
- <xml></xml> version="1.0" encoding='UTF-8'?>
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
-
-
-
- <hibernate-mapping package="bean">
- <class name="Hql" table="hql">
- <id name="id" column="id" type="integer">
- <generator class="increment"/>
- <!----><id></id>>
- <property name="name" column="name" type="string" not-null="true" />
- <set name="fkSet" inverse="true" cascade="all">
- <key column="hid"/>
- <one-to-many class="Fk"/>
- <<!---->set>
- <<!---->class>
- <!----><hibernate-mapping></hibernate-mapping>>
Fk.hbm.xml
xml 代码
- xml version="1.0" encoding='UTF-8'?>
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
-
-
-
- <hibernate-mapping package="bean">
- <class name="Fk" table="fk">
- <id name="id" column="id" type="integer">
- <generator class="increment"/>
- <!---->id>
- <property name="name" column="name" type="string" not-null="true" />
- <many-to-one name="hql" column="hid" class="Hql" not-null="true" />
- <!---->class>
- <!---->hibernate-mapping>
test
java 代码
- public class testHQL extends TestCase {
- //没有DB 会自动加载 hbm2ddl.auto 为 update
- public void testSave(){
- Session se = HibernateSessionFactory.currentSession() ;
- Transaction tr = se.beginTransaction() ;
- Hql qq = new Hql();
- qq.setName("liukaiyi");
- Fk f1 = new Fk();
- f1.setName("oo");
- f1.setHql(qq);
- Set set = new HashSet();
- set.add(f1);
- qq.setFkSet(set);
- se.save(qq); //hql有 inverse="true" 主控 所以 save hql 也会 save fk
- tr.commit();
- }
-
- public void testHql(){
- Session se = HibernateSessionFactory.currentSession() ;
- Transaction tr = se.beginTransaction() ;
- Query q = se.createQuery("from Hql h where h.fkSet.hql = h.id ");
- //组合查询 同 select * from hql h , fk f where h.id = f.hid
- for( Iterator it = q.list().iterator() ;it.hasNext();){
- System.out.println( ((Hql)it.next()).getName() );
- }
- tr.commit();
- }
- }
分享到:
相关推荐
标题 "Spring3.2.5Hibernate4.0.1Integration 完整範例" 指的是将 Spring 3.2.5 版本与 Hibernate 4.0.1 版本整合的一个实例项目。这个项目可能是为了演示如何在实际应用中有效地结合这两个框架,以便于更高效地管理...
【标题】:“1 Hibernate 第一例” 【描述】:这篇博客文章主要介绍了如何在实际项目中使用Hibernate,一个流行的Java对象关系映射(ORM)框架,来实现数据库操作。作者通过一个具体的实例,展示了从创建数据库表到...
6. **版本兼容性**:SSH框架的版本选择需要注意兼容性问题,例如本例中使用的是Hibernate 4.4.6.Final版本,应确保与Struts和Spring的版本相匹配,避免出现不兼容的API或功能缺失。 7. **测试与调试**:在整合过程...
在本例中,我们将使用Hibernate与MySQL数据库进行连接,MySQL是广泛使用的开源关系型数据库管理系统,而sql-front通常指的是一个图形化的SQL编辑器,用于编写和管理SQL语句。 在JavaWeb项目中集成Hibernate,我们...
**Hibernate简介** Hibernate 是一个强大的Java持久化框架,它简化了数据库操作,使得开发者无需编写大量的JDBC代码就能实现对数据库的CRUD(创建、读取、更新、删除)操作。它通过对象关系映射(ORM)技术,将Java...
**hibernate小例** 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本示例旨在帮助初学者理解和熟悉Hibernate的基本概念和用法。 首先,我们需要理解Hibernate的...
这里以MySQL为例,创建一个名为`users`的表,包含`username`、`password`、`email`字段。 在应用层,我们需要编写DAO(Data Access Object)层来处理与数据库的交互。比如,UserService类可以包含增删改查等方法,...
以mysql为例,mysql-connector-java-3.1.×-bin.jar。 3. 配置文件。 1) Hibernate全局配置文件,hibernate.properties或者hibernate.cfg.xml.。一般使用XML文件。 2) 数据O/R mapping 配置文件,也就是数据库...
综上所述,本整合开发例通过Struts2作为前端控制层,jQuery作为前端交互库,Spring作为业务逻辑层管理框架,Hibernate作为持久层框架,共同构建了一个完整的Java Web应用架构,实现了数据的高效管理和交互,充分展示...
这里我们以Apache ServiceMix为例,它是一个基于OSGi的ESB,支持多种适配器。 1. **JCA适配器方式**:安装并配置JCA Hibernate连接器,如OpenEJB的Hibernate JCA连接器。在ServiceMix中,可以通过Karaf命令行或部署...
总的来说,这个"hibernate基本jar包"为Java开发者提供了完整的Hibernate ORM框架,能够高效、便捷地进行数据库操作,提高开发效率。不过,需要注意的是,随着Java和Hibernate版本的更新,这些库文件可能会有所变化,...
综上所述,"Struct + Hibernate + Spring 组装例"是一个典型的Java企业级应用架构,它将MVC模式、持久化管理和依赖管理结合在一起,以提高开发效率和系统性能。通过深入理解和熟练运用这些框架,开发者可以构建出...
整个教程将以实际项目为例,逐步讲解如何创建实体类、配置映射文件、建立数据库连接,以及执行查询和更新操作。通过这些案例,读者将能够将理论知识应用于实践中,巩固学习成果。 总的来说,"hibernate-tutorials_...
以文档中提供的User实体类为例,它包含了id、username、password、createTime和expireTime等属性,以及这些属性的getter和setter方法。这些属性与数据库中的字段相对应。 3. 数据库连接配置:在hibernate.cfg.xml中...
Struts和Hibernate是两个在...它涵盖了从用户界面交互到数据库操作的完整流程,对于学习和理解Struts和Hibernate的集成以及Java Web开发的基本原理非常有帮助。如果你对SSH整合感兴趣,这个例子提供了一个良好的起点。
以`School`和`Address`为例,假设我们有一个多对多的关系,在这种情况下,`inverse`属性可以用来指定由哪一方来维护这个关联关系。 ```java // School类 @ManyToMany(mappedBy = "schools") private Set<Address> ...
《深入理解Hibernate框架:以hibernate-release-5.3.6版本为例》 Hibernate,一个广受欢迎的Java持久化框架,是Java开发者在处理数据库交互时的强大工具。本文将聚焦于hibernate-release-5.3.6版本,探讨其核心特性...
一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流
总结来说,"spring3+hibernate3+derby的实例"是一个完整的Java Web项目,展示了如何使用Spring 3作为应用程序框架,Hibernate 3作为ORM工具,以及Apache Derby作为数据库来构建一个可运行的应用。这样的实例对于学习...