当executing
我的project
时,我不知道原因。
目标是使用save
将Json
database
文字加入hibernate
。
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
答案 0 :(得分:11)
您尝试保存超过255个字符长度的字符串值。只需增加列长
@Column(name = "xxx", length = 1024)
您还需要更改数据库中的列长度。
使用时
@Column(name = "xxx")
Hibernate使用默认列长度。
您可以使用@Lob
获取非常大的文本数据。
请使用xxx_users
代替tblusers
。
使用User
代替Users
。
在关联的CascadeType.ALL
部分使用@OneToMany
。
在关联的@ManyToOne
部分使用延迟加载。
@ManyToOne(fetch = FetchType.Lazy)
pravate User user;
答案 1 :(得分:1)
错误消息告诉您正在尝试存储对于其目标列(255)而言太大的字符串。
你可以:
output
elasticsearch
hosts => ["localhost:9200"]
sniffing => true
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
#document_type => "%{[@metadata][type]}"
,而不是TEXT
。答案 2 :(得分:1)
对于超过255个字符长度的字符串,您可以增加列长度:
@Column(length = 2048)
private String column;
对于大尺寸:
@Lob
private String column;
无限大小:
@Column(columnDefinition="text")
private String column;