Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java org.postgresql.util.PSQLException:错误:值太长,无法更改类型字符(255)_Java_Postgresql_Hibernate_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java org.postgresql.util.PSQLException:错误:值太长,无法更改类型字符(255)

Java org.postgresql.util.PSQLException:错误:值太长,无法更改类型字符(255),java,postgresql,hibernate,spring-boot,spring-data-jpa,Java,Postgresql,Hibernate,Spring Boot,Spring Data Jpa,当我执行项目时,会出现以下错误: 目标是使用hibernate将json文本保存到数据库中 Users.java&UsersBooks.java也是如此 Books.java: @Entity @Table(name="tblbooks") public class Books { @Id @Column(name = "bookshareId") private int bookshareId; @Column(name="author") private String author

当我执行项目时,会出现以下错误:

目标是使用hibernate
json
文本保存到数据库中

Users.java
&
UsersBooks.java
也是如此

Books.java:

@Entity
@Table(name="tblbooks")
public class Books {


@Id
@Column(name = "bookshareId")
private int bookshareId;

@Column(name="author")
private String author;

@Column(name = "availableToDownload")
private int availableToDownload;

@Column(name = "briefSynopsis")
private String briefSynopsis;

@Column(name="category")
private String category;

@Column(name = "completeSynopsis")
private String completeSynopsis;

@Column(name = "contentId")
private int contentId;

@Column(name = "copyright")
private Date copyright;

@Column(name="downloadFormat")
private String downloadFormat;

@Column(name="dtbookSize")
private int dtbookSize;

@Column(name = "freelyAvailable")
private int freelyAvailable;

@Column(name = "brf")
private int brf;

@Column(name = "daisy")
private int daisy;

@Column(name = "images")
private int images;

@Column(name = "isbn13")
private String isbn13;

@Column(name="language")
private String language;

@Column(name = "publishDate")
private Date publishDate;

@Column(name = "publisher")
private String publisher;

@Column(name = "quality")
private String quality;

@Column(name = "title")
private String title;

@OneToMany(mappedBy="book")
private List<UsersBooks> usersBooks;



//Getters & Setters
@实体
@表(name=“tblbooks”)
公共课用书{
@身份证
@列(name=“bookshareId”)
私人书斋;
@列(name=“author”)
私有字符串作者;
@列(name=“availableToDownload”)
私人互联网可供下载;
@列(name=“简介”)
私人字符串简介;
@列(name=“category”)
私有字符串类别;
@列(name=“completeSynopsis”)
私有字符串完全同步;
@列(name=“contentId”)
私有int-contentId;
@专栏(name=“版权”)
私人日期版权;
@列(name=“downloadFormat”)
私有字符串下载格式;
@列(name=“dtbookSize”)
私人书刊;
@列(name=“freelyAvailable”)
私人int免费提供;
@列(name=“brf”)
私人国际信托基金;
@列(name=“daisy”)
私人雏菊;
@列(name=“images”)
私有int图像;
@列(name=“isbn13”)
私有字符串isbn13;
@列(name=“language”)
私有字符串语言;
@列(name=“publishDate”)
私人日期发布日期;
@列(name=“publisher”)
私有字符串发布器;
@列(名称=“质量”)
私人字符串质量;
@列(name=“title”)
私有字符串标题;
@OneToMany(mappedBy=“book”)
私有列表用户书籍;
//接球手和接球手

您试图保存长度超过255个字符的字符串值。只需增加列长度即可

@Column(name = "xxx", length = 1024)
您还需要更改数据库中的列长度

当你使用

@Column(name = "xxx")
Hibernate使用默认的列长度

对于非常大的文本数据,可以使用
@Lob

请使用
xxx\u用户
代替
t用户

使用
用户
代替
用户

使用关联的
@OneToMany
部分上的
CascadeType.ALL

对关联的
@ManyToOne
部分使用延迟加载

@ManyToOne(fetch = FetchType.Lazy)
pravate User user;

错误消息表示您试图存储的字符串对于其目标列(255)来说太大

您可以:

  • 增加列大小或
  • 将列类型更改为
    TEXT
    ,而不是
    VARCHAR(255)

对于长度超过255个字符的字符串,可以增加列长度:

@Column(length = 2048)
private String column;
对于大尺寸:

@Lob
private String column;
对于无限大小:

@Column(columnDefinition="text")
private String column;

在数据库中,您已设置字段类型字符,其长度为255,这是因为在这里,请将最大值255更改为1000(大于255),或者将类型从字符更改为文本或varchar。发送到PostgreSQL的SQL是什么?