分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

Hibernate知识点小结(四)--JPA

发布时间:2023-09-06 02:09责任编辑:傅花花关键词:Hibernate

一、jpa的简介和入门

    JPA:Java Persistence API,接口规范
    Hinernate内部为JPA规范提供实现
    
    开发步骤(EntityManager):
        1、导入额外包:hibernate-release-5.0.7.Final\lib\jpa\hibernate-entitymanager-5.0.7.Final.jar
        2、使用jpa注解配置实体(实体与表的映射关系)
        3、配置EneityManager的核心配置文件
            在类加载路径下(src)下创建一个文件夹,名称META-INF
            在META-INF目录下创建核心配置文件 persistence.xml
        4、使用EntityManager的API对实体进行操作



二、Hibernate JPA的一对多的配置
    创建实体
    配置映射关系
        customer方:
            //当前客户有哪些联系人
            //一的一方:配置一对多,在多的一方维护外键(一的一方放弃外键维护权)
            //targetEntity:对方的字节码对象
            //mappedBy: 对方通过哪个属性与我方维护关系(mappedBy在放弃外键维护权的一方配置)
            @OneToMany(targetEntity=Linkman.class,mappedBy="customer")
            private Set<Linkman> linkmans = new HashSet<>();
        
        linkman方:
            //当前联系人属于哪一个客户
            //配置多对一
            //targetEntity:对方的字节码对象
            @ManyToOne(targetEntity=Customer.class)
            //维护外键  JoinColumn:连接字段信息(外键信息)
            //name:外键名称     referencedColumnName:与外键对应的主键名称
            @JoinColumn(name="lkm_cust_id",referencedColumnName="cust_id")
            private Customer customer;
        
    操作实体


三、Hibernate JPA的多对多的配置
    创建实体
    配置映射关系
        user方:
            //当前该用户具备哪些角色
            //配置多对多
            //targetEntity:对方的字节码对象
            //mappedBy:对方通过哪个属性与我方维护关系(放弃外键维护权的一方配置)
            @ManyToMany(targetEntity=Role.class,mappedBy="users")
            private Set<Role> roles = new HashSet<>();
        role方:
            //当前该角色被哪些用户使用
            //配置多对多
            //targetEntity:对方的字节码对象
            @ManyToMany(targetEntity=User.class)
            //User放弃外键维护权 Role去维护外键
            //配置关系
            //name:中间表的名称
            @JoinTable(
                name="sys_user_role",
                //joinColumns的name:该方(Role)在中间表中产生的外键名称
                //joinColumns的referencedColumnName:该方在中间表中产生的外键对应的主键名称
                joinColumns={@JoinColumn(name="rid",referencedColumnName="role_id")},
                //inverseJoinColumns的name:对方(User)在中间表中产生外键名称
                //inverseJoinColumns的referencedColumnName:对方(User)在中间表中产生外键对应的主键名称
                inverseJoinColumns={@JoinColumn(name="uid",referencedColumnName="user_id")}
            )
            private Set<User> users = new HashSet<>();
    操作实体


ORM-->Jpa-->Hibernate的关系













Hibernate知识点小结(四)--JPA

原文地址:https://www.cnblogs.com/itworkerlittlewrite/p/9451237.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved