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 ...
随机推荐
- python_时间日期
time.time()用于获取当前时间戳 从返回浮点数的时间辍方式向时间元组转换,只要将浮点数传递给如localtime之类的函数. localtime = time.localtime(time.t ...
- jboss 虚拟路径
jboss 虚拟路径 上传文件到服务器时,保存到服务器发布应用外路径.这时,就要通过在jboss配置虚拟路劲以访问. 在standalong.xml里找到 <subsystem xmlns=&q ...
- Java中接口与接口和类之间的关系
接口和接口之间的关系 继承关系 可以多继承,并且可以多层继承 注意: 1.如果多个父接口中有同名的抽象方法,那么子接口只需要实现一次即可 2.如果多个父接口中有同名的默认方法,那么子接口必须重写默认方 ...
- /etc目录常用配置文件
/etc/resolv.conf DNS客户端配置文件,逐渐被网卡配置文件所替代 /etc/hosts 本机DNS解析文件,优先级高于DNS服务器 /etc/hostname CentOS 7 主机名 ...
- Django REST framework 初识
一.官网快速实例 quickstart # 安装 RESTful pip install djangorestframework 二.序列化 models.py from django.db impo ...
- 2.使用term filter搜索数据
主要知识点 根据用户ID.是否隐藏.帖子ID.发帖日期来搜索帖子 一.准备数据 1.插入一些测试帖子数据 POST /forum/article/_bulk { "index&quo ...
- Linux - redis持久化RDB与AOF
目录 Linux - redis持久化RDB与AOF RDB持久化 redis持久化之AOF redis不重启,切换RDB备份到AOF备份 确保redis版本在2.2以上 实验环境准备 备份这个rdb ...
- Python网络爬虫之Scrapy框架(CrawlSpider)
目录 Python网络爬虫之Scrapy框架(CrawlSpider) CrawlSpider使用 爬取糗事百科糗图板块的所有页码数据 Python网络爬虫之Scrapy框架(CrawlSpider) ...
- zookeeper监控之taokeeper
1.taokeeper简介 淘宝的开源监控zookeeper的工具,年久失修! 项目地址: https://github.com/alibaba/taokeeper 监控项: CPU/MEM/LOAD ...
- Groovy简单再入门
以前试过,忘得差不多了,趁这次从JAVA一直撸到SERVLET,SPRING,GROOVY,GRAILS的机会,再弄一次吧... def authors = [ "Peter Ledbroo ...