JPA save()方法插入数据成功后,返回值对象中一个字段默认值返回为null

上虞区张学友 2018-07-30 07:14:55
实体类如下


package com.hzzh.mybook.book.model;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;

@DynamicUpdate
@DynamicInsert
@Entity
@Table(name = "mybooks")
public class book {
@Id
@GeneratedValue
@Column(name = "GUID")
Integer id;
@Column(name = "BOOK_NAME")
String bookName;
@Column(name = "TYPE_")
String type;
@Column(name = "LIST_NAME")
String listName;
@Column(name = "USER_NAME")
String userName;
@Column(name = "PICTURE_URL")
String pictureUrl;
@Column(name = "shot")
Integer shot;

public void setShot(Integer shot) {
this.shot = shot;
}

public Integer getShot() {
return shot;
}

public void setType(String type) {
this.type = type;
}

public void setBookName(String bookName) {
this.bookName = bookName;
}

public void setId(Integer id) {
this.id = id;
}

public String getType() {
return type;
}

public String getBookName() {
return bookName;
}

public Integer getId() {
return id;
}

public String getListName() {
return listName;
}

public String getPictureUrl() {
return pictureUrl;
}

public String getUserName() {
return userName;
}

public void setListName(String listName) {
this.listName = listName;
}

public void setPictureUrl(String pictureUrl) {
this.pictureUrl = pictureUrl;
}

public void setUserName(String userName) {
this.userName = userName;
}
}


Service实现类

@Override
public book save(book book) {
return myBooksRepository.save(book);
}


输入参数


返回后参数


实际传入后数据库数据


这里可以看到我数据已经传到数据库并写入了,也成功返回,但返回值中shot却为null,实际数据库是默认值1000。
shot字段我是设置了默认值。
...全文
1905 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
上虞区张学友 2018-07-31
  • 打赏
  • 举报
回复
已找到原因,因为缓存原因,数据库数据没更新到实体类中,用entityManager.refresh(Entity)方法更新下就好
上虞区张学友 2018-07-30
  • 打赏
  • 举报
回复
有人吗 来大佬啊

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧