`
heimeiyingwang
  • 浏览: 94937 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate知识辅导(2--2)

阅读更多

4,根据底层数据库指定生成方法

 

     <id name="id" column="id">

         <generator class="native"/>

     </id>

 

注意,在使用native的底层是针对Oracle数据库时,id的生成方式还是使用sequence,只不过需要一个特定名字的sequence"hibernate_sequence"

 

5,高低位算法

 

<id name="id" column="id">

         <generator class="hilo">

              <param name="table">high_value</param>

              <!--设置高位值取值的表-->

              <param name="column">next_value</param>

              <!--设置高位值取值的字段-->

              <param name="max_lo">50</param>

              <!--指定低位最大值,当取道最大值是会再取一个高位值再运算-->

         </generator>

</id>

 

类关联关系映射

 

一对一关系实现

 

建表策略

1,共享主键,也就是一方引用另一方的主键,作为自身的主键,也是外键。

2,外键引用,也就是一方引用另一方的主键,作为外键,并且对引用的外键加唯一约束。

 

UserAddress类为例,用户和用户的地址是一对一关系

 

User

package alan.hbn.rel.o2o;

import java.io.Serializable;

public class User implements Serializable{

    private int userId;

    private String userName;

    private Address address;

    public int getUserId(){

        return userId;

    }

 

    public void setUserId(int userId){

        this.userId = userId;

    }

 

    public String getUserName(){

        return userName;

    }

 

    public void setUserName(String userName){

        this.userName = userName;

    }

 

    public Address getAddress(){

        return address;

    }

 

    public void setAddress(Address address){

        this.address = address;

        if (address != null){

            address.setUser(this);

        }

    }

}

 

Address

package alan.hbn.rel.o2o;

 

import java.io.Serializable;

 

public class Address implements Serializable{

    private int addressId;

    private String street;

    private String zipcode;

    private User user;

    public int getAddressId(){

        return addressId;

    }

 

    public void setAddressId(int addressId){

        this.addressId = addressId;

    }

 

    public String getStreet(){

        return street;

    }

 

    public void setStreet(String street){

        this.street = street;

    }

 

    public String getZipcode(){

        return zipcode;

    }

 

    public void setZipcode(String zipcode){

        this.zipcode = zipcode;

    }

 

    public User getUser(){

        return user;

    }

 

    public void setUser(User user){

        this.user = user;

    }

   

}

分享到:
评论

相关推荐

    java知识全集

    **5.3 Hibernate知识辅导(2--2)** - **多对多映射**: 多对多关系的实现方式。 - **级联操作**: 级联保存、删除等操作。 - **延迟加载**: 延迟加载实体及其关联对象。 **5.4 Hibernate知识辅导(2--3)** - **...

    博客系统(struts+hibernate+spring).zip

    2. **Hibernate框架**: Hibernate是一个对象关系映射(ORM)工具,它简化了Java应用与关系数据库之间的交互。在博客系统中,Hibernate作为数据访问层,负责将Java对象与数据库中的表进行映射,提供透明的数据持久...

    Java程序设计视频教程 48讲+2讲辅导

    根据给定的文件信息,我们可以提炼出一系列与Java程序设计相关的知识点,这48讲加上额外的2讲辅导课程,涵盖了Java编程的基础到高级技术,是深入理解和掌握Java语言的宝贵资源。以下是对这些知识点的详细说明: ###...

    2022最全java面试题+心里辅导

    - JPA/Hibernate:理解ORM框架的工作原理,以及实体关系映射和查询语句的编写。 10. **心理辅导**: - 面试准备:了解如何有效地准备面试,包括对公司和职位的研究,以及自我介绍的技巧。 - 面试技巧:学会如何...

    基于springboot的线上辅导班系统源码数据库.doc

    知识点2:SSM 框架 * SSM 框架是 Spring、Struts 和 Hibernate 的整合框架,能够提供一个完整的 Java WEB 开发解决方案。 * SSM 框架提供了一个松耦合的架构,能够使开发者快速构建应用程序。 * SSM 框架的主要特点...

    基于java的饮食分享平台(源代码+数据库+部署文档+辅导视频).zip

    2. **数据库设计**:文件"2-数据库表结构文档"很可能包含了项目的数据库模型,包括各个表的设计、字段定义以及它们之间的关系。这通常涉及到关系型数据库管理系统(如MySQL或Oracle),并且可能运用了实体关系模型...

    基于java的进销存管理系统设计与实现(源代码+数据库+部署文档+辅导视频).zip

    “3-资料”可能包含相关的学习资料,例如Java编程基础、Spring Boot教程、数据库管理知识等,帮助用户深入理解系统原理,提升开发技能。 六、辅导视频 “5-视频”中的辅导视频是系统的重要补充,通过实例演示,...

    程序员200G资料大放送(内含百度云链接) 违规请告知删除

    根据提供的信息,我们可以总结出以下相关的IT知识点: ### 一、尚硅谷的教育资源 #### Java教程 1. **Java基础阶段** - **20天横扫Java基础**:这是一套适合Java初学者的教程,通过20天的学习周期帮助学员快速...

    java简历辅导

    2. **技术栈展示**:列出你精通的Java技术,如J2EE、JDBC、多线程、集合框架、设计模式等,并提及你对其他相关技术如Spring Boot、MyBatis、Hibernate的理解和应用。 3. **项目经验**:详细描述你参与过的项目,...

    基于java的学籍管理系统设计与实现(源代码+数据库+部署文档+辅导视频).zip

    8. **辅导视频**:01-视频可能是一系列的教学视频,帮助学习者理解系统的实现过程,包括编程技巧、问题调试、功能测试等内容,有助于深化理论知识和实践能力。 9. **版本控制**:项目可能使用Git进行版本控制,确保...

    基于java的人力资源管理系统设计与实现(源代码+数据库+部署文档+辅导视频).zip

    开发者可能还使用了Spring框架来管理依赖,Hibernate或MyBatis进行ORM(对象关系映射),这些都属于Java开发中的常用技术栈。 "数据库结构文档"(2-数据库结构文档)详细阐述了系统所使用的数据库设计,包括实体...

    基于Java Web的高校考试排座系统.pdf

    该系统主要利用了Spring、Struts2和Hibernate框架来设计并实现自动化的考试座位编排功能,从而替代了传统的人工排座方式。系统的设计和实现可以有效避免人工操作中可能出现的错误,减轻教务人员的工作负担,并且提升...

    基于java的学生宿舍管理系统(源代码+数据库+部署文档+辅导视频).zip

    《基于Java的学生宿舍管理系统》 本项目是一款基于Java技术实现的学生宿舍管理系统,旨在提供一个...通过研究和模仿,开发者不仅可以掌握Java编程,还能了解到数据库设计、系统部署以及软件工程中的其他关键知识点。

    javaweb课程设计大作业,教学课后辅导交流系统.zip

    - 数据库:MySQL或Oracle存储用户信息、作业、成绩等数据,使用JDBC进行数据库操作,可能结合Hibernate或MyBatis简化ORM(对象关系映射)。 - 前端:HTML、CSS和JavaScript,可能使用Bootstrap或Vue.js等框架提升...

    基于java的记账系统(源代码+数据库+部署文档+辅导视频).zip

    这个项目的重点在于理解和应用Java编程语言来构建一个实用的业务系统,同时也涉及到数据库管理和系统部署的相关知识。 1. **Java编程基础**:Java是一种面向对象的编程语言,它的特性包括平台独立性、丰富的类库和...

    基于java的教务查询系统(源代码+数据库+部署文档+辅导视频).zip

    例如,可能会使用Java Swing或JavaFX构建用户界面,Spring框架处理业务逻辑,而Hibernate或JDBC则用于与数据库进行交互。 数据库是教务查询系统的核心,它存储了所有的教务数据,如学生信息、课程信息、成绩等。2-...

Global site tag (gtag.js) - Google Analytics