SpringBoot整合JPA和Hibernate框架
Springboot整合JPA+Hibernate框架【待完成】
- 随着MybatisPlus技术的发展,JPA和Hibernate技术已经逐步淘汰
JPA遵循了Hibernate框架规则,目前使用的不多
1、添加依赖
<!--jpa-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2、添加配置
# JPA配置
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
3、创建单表实体
- @Entity
- @Table
@Data
@Entity
@Table(name = "student")
public class Student implements Serializable {@Id@GeneratedValue(strategy = GenerationType.AUTO)private Integer id ;private String name;private Byte sex;private String numberId;
}
@Data
@Entity
public class Student {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "student_id")private int id;@Column(name = "student_name")private String name;@Column(name = "student_password")private String password;//多对一字段@ManyToOne(cascade = CascadeType.ALL)@JoinColumn(name = "school")private School school;//多对多字段@ManyToMany(cascade = CascadeType.ALL,mappedBy = "students")//mappedBy=“关联属性名”private Set<Teacher> teachers;
}
@Data
@Entity
@Table(name = "teacher")
public class Teacher {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "teacher_id")private int id;@Column(name = "teacher_name")private String name;@Column(name = "teacher_password")private String password;@ManyToOne(cascade = CascadeType.ALL)@JoinColumn(name = "school")private School school;@ManyToMany(cascade = CascadeType.ALL)@JoinTable(name = "teacher_student",//中间表名joinColumns = {@JoinColumn(name = "teacherid")},//当前对象id在中间表的列名inverseJoinColumns = {@JoinColumn(name = "studentid")}//另一张表在中间表的列名)private Set<Student> students;}@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class School {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "school_id")private int id;@Column(name = "school_name")private String name;@OneToMany(cascade = CascadeType.ALL,mappedBy = "school")private Set<Student> students;@OneToMany(cascade = CascadeType.ALL,mappedBy = "school")private Set<Teacher> teachers;
}
相关文章:
SpringBoot整合JPA和Hibernate框架
Springboot整合JPAHibernate框架【待完成】 随着MybatisPlus技术的发展,JPA和Hibernate技术已经逐步淘汰 JPA遵循了Hibernate框架规则,目前使用的不多 1、添加依赖 <!--jpa--> <dependency><groupId>org.springframework.boot</…...
Java中文件的创建(三种方式),文件常用的方法
文件的创建 方式1: new File(String pathName) 根据路径构建一个File对象方式2: new File(File parent,String child) 根据父目录文件子路径构建方式3: new File(String parent,String child) 根据父目录子路径构建 代码: //方…...
Spring boot中调用C/C++(dll)
添加JNA依赖 <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.5.0</version> </dependency>准备C代码/C代码 如下是C代码,文件名:xizi.c #include <std…...
【Apollo学习笔记】——规划模块TASK之PATH_DECIDER
文章目录 前言PATH_DECIDER功能简介PATH_DECIDER相关配置PATH_DECIDER总体流程路径决策代码流程及框架MakeStaticObstacleDecision PATH_DECIDER相关子函数参考 前言 在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……S…...
Lua学习(二)
Lua基础学习 7. lua函数8. lua运算符8.1 算数运算符8.2 关系运算符8.3 逻辑运算符8.4 其他运算符 9. lua字符串9.1 字符串格式化9.2 匹配模式 10. lua数组11. lua迭代器11.1 Lua table 12. lua 模块12.1 加载机制12.2 C 包 接着上一篇的内容。Lua学习(一)…...
制作鲜花商城小程序的详细步骤
如果你是一个新手商家,想要进入鲜花团购市场,但是不知道如何制作一个小程序商城,那么这篇文章就是为你准备的。以下是制作鲜花团购小程序商城的详细步骤: 1. 登录乔拓云平台后台,进入商城管理页面 首先,你需…...
Ubuntu20以上高版本如何安装低版本GCC
安装了Ubuntu 20.04之后,通过命令行 sudo apt-get install build-essential安装gcc,再通过命令行 gcc -v可查看gcc版本为gcc13 如果想用低版本的gcc,比如gcc4.8,尝试输入命令 sudo apt-get install gcc-4.8会提示找不到gcc4.8的…...
context.WithCancel()的使用
“ WithCancel可以将一个Context包装为cancelCtx,并提供一个取消函数,调用这个取消函数,可以Cancel对应的Context Go语言context包-cancelCtx[1] 疑问 context.WithCancel()取消机制的理解[2] 父母5s钟后出门,倒计时,父母在时要学习,父母一走…...
vue3中引入百度地图
话不多说直接开干 1.第一种方式 百度地图地址 打开 https://lbsyun.baidu.com/index.php?title%E9%A6%96%E9%A1%B5 然后点进去地图 然后再这个功能里面选择一个地图,然后跳转页面 然后一直下滑 滑到底部 点击这个 跳转到这个页面 然后点击进入demo这个 然后到这个…...
【Linux-Day8- 进程替换和信号】
进程替换和信号 问题引入 我们发现 终端输入的任意命令的父进程都是bash,这是因为Linux系统是用fork()复制出子进程,然后在子进程中调用替换函数进行进程替换,实现相关命令。 (1) exec 系列替换过程:pcb 使用以前的只…...
日志文件之间关系和介绍及应用
1.常用日志框架代码举例 Log4j: Log4j是Java中广泛使用的日志框架之一。它提供了灵活的配置选项和丰富的功能,支持日志级别、日志输出目标等。Log4j有1.x版本和2.x版本,其中Log4j 2.x是对1.x的升级和扩展。 Logback: Logback是由Log4j创始人设计的Log4…...
mac电脑屏幕录制Berrycast Mac屏幕录制软件
Berrycast是一款为Mac设计的优秀屏幕录制软件,它让屏幕录制变得简单而高效。以下是Berrycast的一些主要特点: 简单的用户界面:Berrycast拥有直观和简洁的用户界面,使得用户可以轻松上手。高质量的视频输出:Berrycast能…...
机器学习笔记之最优化理论与方法(一)最优化问题概述
机器学习笔记之最优化理论与方法——最优化问题概述 引言什么是最优化问题最优化问题的基本形式最优化问题的分类各分类最优化问题的数学表达约束优化VS无约束优化线性规划VS非线性规划连续优化VS离散优化单目标优化VS多目标优化 引言 从本节开始,将对最优化理论与…...
【ES5新特性一】 严格模式语法变化、全局的JSON对象、编码和解码的方法
前言 ECMAScript 和 JavaScript 的关系 一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系? 要讲清楚这个问题,需要回顾历史。1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准…...
Java【手撕滑动窗口】LeetCode 3. “无重复字符的最长子串“, 图文详解思路分析 + 代码
文章目录 前言一、长度最小子数组1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链…...
学习哈哈哈哈
# 零、学习计划 * 数据库相关 * 索引 * [我以为我对数据库索引很了解,直到我遇到了阿里面试官 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/107487215) * [给我一分钟,让你彻底明白MySQL聚簇索引和非聚簇索引 - 知乎 (zhihu.com)](ht…...
05-基础例程5
基础例程5 1、超声波测距 实验介绍 HC-SR04超声波传感器是一款测量距离的传感器。其原理是利用声波在遇到障碍物反射接收结合声波在空气中传播的速度计算的得出。 外观 管脚功能的定义 VCC:供电电源;Trig:触发信号;Echo&a…...
双基证券:预计未来还会有更多政策来吸引增量资金
双基证券表示,8月27日,活泼资本商场五大方针出台:证券交易印花税折半征收;阶段性收紧IPO节奏;上市房企再融资不受破发、破净和亏本限制;标准控股股东与实际操控人减持行为;融资保证金最低份额由…...
前端:html实现页面切换、顶部标签栏,类似于浏览器的顶部标签栏(完整版)
效果 代码 <!DOCTYPE html> <html><head><style>/* 左侧超链接列表 */.link {display: block;padding: 8px;background-color: #f2f2f2;cursor: pointer;}/* 顶部标签栏 */#tabsContainer {width:98%;display: flex;align-items: center;overflow-x: …...
强化自主可控,润开鸿发布基于RISC-V架构的开源鸿蒙终端新品
2023 RISC-V中国峰会于8月23日至25日在北京召开,峰会以“RISC-V生态共建”为主题,结合当下全球新形势,把握全球新时机,呈现RISC-V全球新观点、新趋势。本次大会邀请了RISC-V国际基金会、业界专家、企业代表及社区伙伴等共同探讨RISC-V发展趋势与机遇,吸引超过百余家业界企业、高…...
BlueDot BME280库深度解析:嵌入式多传感器驱动实践
1. BlueDot BME280 库技术解析:面向嵌入式工程师的多传感器驱动实践指南BME280 是博世(Bosch)推出的高精度环境传感器,集成温度、相对湿度与气压三参数测量能力,广泛应用于气象站、IoT终端、无人机姿态补偿及室内环境监…...
WPF颜色转换器实战:如何用ConverterParameter动态切换UI主题色(附完整代码)
WPF颜色转换器实战:如何用ConverterParameter动态切换UI主题色(附完整代码) 在WPF应用开发中,动态主题切换是提升用户体验的关键功能之一。想象一下,你的应用能够根据用户偏好或系统设置实时切换明暗主题,甚…...
香橙派Ubuntu镜像烧录与系统迁移实战指南
1. 香橙派与Ubuntu镜像的完美组合 香橙派作为国产开源硬件中的佼佼者,凭借其出色的性价比和丰富的接口,已经成为很多开发者和创客的首选。而Ubuntu作为最受欢迎的Linux发行版之一,以其稳定性和易用性赢得了大量用户的青睐。将这两者结合起来&…...
ROS中tf2坐标系命名规范详解:为什么你的/world会报Invalid argument错误
ROS中tf2坐标系命名规范详解:为什么你的/world会报Invalid argument错误 在ROS机器人开发中,坐标系转换(tf2)系统是构建空间感知的核心基础设施。许多开发者第一次遇到Invalid argument "/world" passed to canTransfor…...
VLN性能提升秘籍:详解JanusVLN的‘记忆宫殿’如何解决长期导航的内存爆炸问题
VLN性能优化实战:JanusVLN混合记忆机制解析与工程落地指南 1. 视觉语言导航的工程挑战与性能瓶颈 在智能家居助手、仓储机器人等实际应用场景中,视觉语言导航(VLN)系统经常面临三大核心性能挑战。首先是内存占用失控——传统方法需…...
GraphRAG大揭秘:微软如何用知识图谱让AI问答更精准,效率翻倍!
微软推出的GraphRAG通过引入知识图谱技术,有效解决了传统RAG在信息连接和归纳总结上的不足。GraphRAG利用大模型构建知识图谱,实现实体和关系的结构化表示,显著提升答案的准确度与完整性,并支持多跳推理。文章详细介绍了知识图谱的…...
当固体力学遇上AI:Energy-based PINN如何搞定超弹性橡胶材料仿真?
Energy-based PINN:颠覆超弹性材料仿真的无网格革命 橡胶密封圈在高压环境下的变形预测误差超过40%、人工心脏瓣膜材料的疲劳寿命仿真需要72小时计算、柔性电子器件在弯曲状态下的应力分布难以精确建模——这些困扰研究者的难题,正在被一种结合深度学习和…...
VisionPro相机控制进阶:用C#实现拍照、实时流与图像保存的完整工作流
VisionPro相机控制进阶:用C#构建工业级图像采集工作流 在工业自动化领域,稳定可靠的图像采集系统是质量检测、尺寸测量和缺陷识别的基础。VisionPro作为工业视觉领域的标杆工具,配合C#强大的开发能力,可以构建出高性能的相机控制…...
热量表(热能表)完整指南:原理、公式推导、STM32 嵌入式软件全实现
目录 一、热量表工作原理 1. 核心物理原理 2. 系统组成 3. 工作流程 二、热量计算公式(国标 / 欧标 EN1434)完整推导 1. 基础定义 2. 最终标准热量公式(工业直接用) 瞬时热量: 累积热量: 3. 公式…...
技术赋能B端拓客:号码核验行业的破局与价值重塑,氪迹科技法人股东号码筛选系统,阶梯式价格
2026年,B端拓客正式迈入智能内卷时代,“精准获客、降本增效”成为企业突破业绩瓶颈的核心关键词,而号码核验作为拓客流程的前置过滤环节,直接决定了线索质量与人力效能,成为影响拓客投入回报比的关键变量。当前&#x…...
