首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hibernate知识辅导(2--2)

Hibernate知识辅导(2--2)

作者头像
紫风
发布2025-10-14 15:57:09
发布2025-10-14 15:57:09
850
举报

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,外键引用,也就是一方引用另一方的主键,作为外键,并且对引用的外键加唯一约束。

以User和Address类为例,用户和用户的地址是一对一关系

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;

    }

}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档