hibernate 一对一注解
bi如
用户的阅读历史和文章表是单向一对一关系,
阅读历史中通过deviceId外键关联文章表的主键

然后,再从getter setter上进行注解
@OneToOne(cascade = CascadeType.DETACH)//引用侧被删除后,被引用测游离,如果要级联删除,那就写其他类型,具体查阅CascadeType
@JoinColumn(name = "articleId", insertable = false, updatable = false)//该字段为外键,用于关联文章表 public Article getArticle() { return article; } public void setArticle(Article article) { this.article = article; }
然后就可以了
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.hs.model; import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator; /**
* 记录用户的文章阅读记录
*
* @author G
*/
@Entity
@Table(name = "t_accessRecotd")
public class AccessRecord implements Serializable { private int id;
private int articleId;//访问记录
private int userid;
private int deviceId;//设备序列号,安装后生成,卸载重装后变更,以免手机易主情况
private Timestamp accessTimestamp;//访问时间
private Article article;//需要一个文章对象,保存文章的属性
private boolean isDeleted;//是否删除,标记一下,并不真正删除 public AccessRecord() {
} @Id
@GeneratedValue(generator = "_native")
@GenericGenerator(name = "_native", strategy = "native")
public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public int getArticleId() {
return articleId;
} public void setArticleId(int articleId) {
this.articleId = articleId;
} public int getUserid() {
return userid;
} public void setUserid(int userid) {
this.userid = userid;
} public int getDeviceId() {
return deviceId;
} public void setDeviceId(int deviceId) {
this.deviceId = deviceId;
} public Timestamp getAccessTimestamp() {
return accessTimestamp;
} public void setAccessTimestamp(Timestamp accessTimestamp) {
this.accessTimestamp = accessTimestamp;
} @OneToOne(cascade = CascadeType.DETACH)
@JoinColumn(name = "articleId", insertable = false, updatable = false)//该字段为外键,用于关联文章表
public Article getArticle() {
return article;
} public void setArticle(Article article) {
this.article = article;
} public boolean isIsDeleted() {
return isDeleted;
} public void setIsDeleted(boolean isDeleted) {
this.isDeleted = isDeleted;
}
}
测试一下

转为json送给前端

hibernate 一对一注解的更多相关文章
- Java、Hibernate(JPA)注解大全
1.@Entity(name=”EntityName”) 必须,name为可选,对应数据库中一的个表 2.@Table(name=””,catalog=””,schema=””) 可选,通常和@Ent ...
- hibernate annotation注解方式来处理映射关系
在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式 ...
- HIBERNATE一对一双向外键联合主键关联
HIBERNATE一对一双向外键联合主键关联: 一. 创建主键类:这个主键必须实现serializedable接口和重写其中的hashCode方法和equals方法:为主键类添加一个叫做@Embedd ...
- Hibernate Annotations 注解
Hibernate Annotations 注解 对于org.hibernate.annotations与org.hibernate.persistence,它的注释比如Columns,可是不知道怎么 ...
- Hibernate基于注解annotation的配置
Annotation在框架中是越来越受欢迎了,因为annotation的配置比起XML的配置来说方便了很多,不需要大量的XML来书写,方便简单了很多,只要几个annotation的配置,就可以完成我们 ...
- Java进阶知识07 Hibernate一对一双向外键关联(Annotation+XML实现)
1.Annotation 注解版 1.1.创建Husband类和Wife类 package com.shore.model; import javax.persistence.Entity; impo ...
- Java进阶知识06 Hibernate一对一单向外键关联(Annotation+XML实现)
1.Annotation 注解版 1.1.创建Husband类和Wife类 package com.shore.model; import javax.persistence.Entity; impo ...
- hibernate一对一外键双向关联
关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...
- hibernate一对一外键单向关联
关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...
随机推荐
- error LNK2001: unresolved external symbol _main解决办法(zz)
error LNK2001: unresolved external symbol _main解决办法 解决外部符号错误:_main,_WinMain@16,__beginthreadex -!t ...
- UVA-699-The Falling Leaves-二叉树+递归
Each year, fall in the North Central region is accompanied by the brilliant colors of the leaves on ...
- Date、DateFormat、Calendar、System、Math类总结
java.util.Date: 构造方法 public Date() 空参构造,返回当前时间 public Date(long 毫秒值) 指定毫秒值的时间 普通方法 long getTime() 获取 ...
- Visual Studio 2019安装教程
一.下载 网址:https://visualstudio.microsoft.com/zh-hans/vs/ 下载后是一个.exe文件 二.安装 双击打开下载的.exe文件,进入文件的提取 提取完成后 ...
- SQL语句的四种连接
SQL的四种连接查询 内连接 inner join 或者 join 外连接 左连接 left join 或者 left outer join 右连接 right join 或者 right ou ...
- LaTeX的安装
1 下载与安装 下载地址. 选择清华TUNA开源镜像, 选择Full版本, 点击下载,按照提示安装,没有坑,就没有截图. 2 简单使用流程 1) 首先下载对应的LaTeX模板(从会议或者期刊网站上下载 ...
- 编写Reduce处理逻辑
- UMP系统功能 资源调度
- SPOJ10707 COT2-Count on a tree II
COT2 - Count on a tree II 中文题意 离线询问一颗树上路径(u,v)中经过所有点的权值的种类数. 题解 树上莫队.即在树的欧拉序列上进行莫队.同一个点加第一次时增加,第二次时减 ...
- SPOJ - LOCKER
SPOJ - LOCKERhttps://vjudge.net/problem/45908/origin暴力枚举2-102 23 34 2 25 2 36 3 37 2 2 38 2 3 39 3 3 ...