JPA实体关联关系,一对一以及转换器
现有两张表
room (rid,name,address,floor)
room_detail (rid,roomid,type)
需要创建房间实体,但是也要包含type属性
@Data //lambok生成get,set方法
@Entity
@EqualsAndHashCode(callSuper=false, onlyExplicitlyIncluded = true) //此注解会生成equals(Object other) 和 hashCode()方法
@Table(name="room")
@SecondaryTable(name="room_detail",pkJoinColumns=@PrimaryKeyJoinColumn(name="roomid"))//关联的表,填写关联字段
public class RoomEntity implements Serializable{ private static final long serialVersionUID = -7921327682701819877L;
@Column(nullable=false,unique = true)
private Long rid;
private String name;
private String address;
/**房间类型**/
@Column(table="room_detail")
@Convert(converter=RoomTypeConverter.class)
private RoomType type; /**楼层**/
@Column(table="room_detail")
private Integer floor; }
@Converter 是JPA的转换器,枚举类型与数据库交互使用,比如房间类型 1代表客房,2代表办公室,数据库是1,2,展示需要客房,办公室,用转换器转
自己实现接口AttributeConverter ,实现两个方法
例如
public class RoomTypeConverter implements AttributeConverter<RoomType, Integer> {
@Override
public Integer convertToDatabaseColumn(RoomType attribute) {
// TODO Auto-generated method stub
return attribute.getCode();
}
@Override
public RoomType convertToEntityAttribute(Integer dbData) {
// TODO Auto-generated method stub
return RoomTypes.valueOf(dbData);
}
}
RoomType是枚举类,就不贴代码了
JPA实体关联关系,一对一以及转换器的更多相关文章
- Spring Data JPA实体详解
1. Spring Data JPA实体概述 JPA提供了一种简单高效的方式来管理Java对象(POJO)到关系数据库的映射,此类Java对象称为JPA实体或简称实体.实体通常与底层数据库中的单个关系 ...
- spring jpa 实体互相引用返回restful数据循环引用报错的问题
spring jpa 实体互相引用返回restful数据循环引用报错的问题 Java实体里两个对象有关联关系,互相引用,比如,在一对多的关联关系里 Problem对象,引用了标签列表ProblemLa ...
- JPA实体继承映射
注意:据说,在本文所指的实体是@Entity注解的类. JPA在对象 - 关系映射通常情况下一个实体对应表,不管是什么这两个实体之间的关系.假设两个实体之间的继承关系.那么它是如何映射? JPA实体支 ...
- 由数据库表生成jpa实体工具
package cn.net.yto.aaa.dao.generator; /** * 由数据库表生成jpa实体工具 * * @author huike * Created by gf.liu on ...
- JPA实体类中常用的注解
这两天在看黎活明老师的JPA的讲解视频,现在只了解这么多,记录备用. import java.util.Date; import javax.persistence.Basic; import jav ...
- MyEclipse使用教程:使用REST Web Services管理JPA实体
MyEclipse 在线订购专享特惠!火爆开抢>> MyEclipse最新版下载 使用REST Web Services来管理JPA实体.在逆向工程数据库表后生成REST Web服务,下面 ...
- JPA实体关系映射:@ManyToMany多对多关系、@OneToMany@ManyToOne一对多多对一关系和@OneToOne的深度实例解析
JPA实体关系映射:@ManyToMany多对多关系.@OneToMany@ManyToOne一对多多对一关系和@OneToOne的深度实例解析 今天程序中遇到的错误一 org.hibernate.A ...
- Jpa实体类生成图解
Jpa实体类生成图解 创建连接 创建项目
- IDEA 生成 JPA实体类
文章目录1.创建工程2.连接数据源3.生成`JPA`实体类4.生成实体类结果1.创建工程使用Maven来构建工程,为了简化创建步骤 创建一个新工程不包含任何Maven模板,[按需添加] 命名 Grou ...
随机推荐
- Html5 WebSocket详细介绍
什么是WebSocket?看过html5的同学都知道,WebSocket protocol 是HTML5一种新的协议.它是实现了浏览器与服务器全双工通信(full-duplex).HTML5定义了We ...
- c++/c DEBUG宏
#cat log_debug.h #ifdef DEBUG int log_debug(const char *format, ...); #else int log_debug(const char ...
- 使用redis和简单token机制校验身份的思路
1. 登录时生成token, 以token为键,以用户信息为值,存储在redis中,设置key过期时间 2. 需要身份验证的接口,带上token 3. 接口校验redis中token是否存在 4. 存 ...
- 25.TF&IDF算法以及向量空间模型算法
主要知识点: boolean model IF/IDF vector space model 一.boolean model 在es做各种搜索进行打分排序时,会先用boolean mo ...
- Python os.listdir() 方法
概述 os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表.这个列表以字母顺序. 它不包括 '.' 和'..' 即使它在文件夹中. 只支持在 Unix, Windows 下 ...
- net core 配置Redis Cache
参考文章地址:https://dotnetcoretutorials.com/2017/01/06/using-redis-cache-net-core/ 具体步骤: 1 Install-Pack ...
- 解决WP程序 重复打开出现 “正在加载...” 字样 解决方案
在开发winphone程序时候 我们经常遇到调试.在调试的时候 可能会重复打开 debug一下.可是有时候 经常遇到 "正在加载...."字样.而且很慢.效率很低. 测试发现 在 ...
- 怎么去掉Word文字下面的波浪线
Word文字下面的红色波浪线怎么去掉?在word办公软件操作中,可能会遇到一个小问题,就是文字下面有红色绿色的波浪线,看起来感觉不舒服.其 实这是软件自动给你检查语法等错误标出来的,红色的表示系统认为 ...
- poj1330 lca 最近公共祖先问题学习笔记
首先推荐两个博客网址: http://dongxicheng.org/structure/lca-rmq/ http://scturtle.is-programmer.com/posts/30055. ...
- bcd(Binary-Coded Decimal缩写)
Binary-Coded Decimal,简称BCD,称BCD码或二-十进制代码,亦称二进码十进数.是一种二进制的数字编码形式,用二进制编码的十进制代码.这种编码形式利用了四个位元来储存一个十进制的 ...