org.postgresql.util.PSQLException:错误:对于类型字符变化的值太长(255)

新手上路,请多包涵

当我执行我的项目时,出现此错误: 在此处输入图像描述

目标是使用 hibernatejson 文本保存到数据库中。

Users.java & UsersBooks.java 同样,

在此处输入图像描述

书籍.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

原文由 Albin Gjoka 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

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

@Column(name = "xxx", length = 1024)

您还需要更改数据库中的列长度。

当你使用

@Column(name = "xxx")

Hibernate 使用默认的列长度。

您可以将 @Lob 用于非常大的文本数据。

请使用 xxx_users 代替 tblusers

使用 User 代替 Users

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

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

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

原文由 v.ladynev 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

 @Column(length = 2048)
private String column;

对于大尺寸:

 @Lob
private String column;

对于无限大小:

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

原文由 veben 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题