quand executing
mon project
et je ne sais pas pourquoi.
L’objectif est d’écrire save
Json
dans un database
en utilisant hibernate
.
Users.Java & UsersBooks.Java est également,
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
Vous essayez de sauvegarder une valeur de chaîne de plus de 255 caractères. Il suffit d'augmenter une longueur de colonne
@Column(name = "xxx", length = 1024)
vous devez également modifier une longueur de colonne dans la base de données.
Quand vous utilisez
@Column(name = "xxx")
Hibernate utilise une longueur de colonne par défaut.
Vous pouvez utiliser @Lob
pour des données texte très volumineuses.
Veuillez utiliser xxx_users
au lieu de tblusers
.
Utilisez User
au lieu de Users
.
Utilisez CascadeType.ALL
sur la partie @OneToMany
de l'association.
Utilisez un chargement paresseux sur la partie @ManyToOne
de l'association.
@ManyToOne(fetch = FetchType.Lazy)
pravate User user;
Pour une chaîne de plus de 255 caractères, vous pouvez augmenter la longueur de la colonne:
@Column(length = 2048)
private String column;
Pour les grandes tailles:
@Lob
private String column;
Pour taille illimitée:
@Column(columnDefinition="text")
private String column;
Le message d'erreur indique que vous essayez de stocker une chaîne trop grande pour sa colonne de destination (255).
Tu peux soit :
TEXT
au lieu de VARCHAR(255)
.