gpt4 book ai didi

mysql - 如何在hibernate中使用带有注释的字符串作为主键

转载 作者:行者123 更新时间:2023-11-29 11:15:19 24 4
gpt4 key购买 nike

严重:路径 [] 上下文中 servlet [appServlet] 的 Servlet.service() 抛出异常 [请求处理失败;嵌套异常是 org.hibernate.id.IdentifierGenerationException:在调用 save() 之前必须手动分配此类的 ids:com.cihangir.model.Book] 以及根本原因org.hibernate.id.IdentifierGenerationException:在调用 save() 之前必须手动分配此类的 ids:com.cihangir.model.Book

package com.cihangir.model;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Book {



@Id
@Column(name = "ISBN", nullable = false, unique=true)
@Basic(optional=false)
private String ISBN;
private String bookTitle;
private String category;
private String author;

public Book() {

}

public Book(String ISBN, String bookTitle, String category, String author) {
this.ISBN=ISBN;
this.bookTitle = bookTitle;
this.category = category;
this.author = author;
}

public String getISBN() {
return ISBN;
}

public void setISBN(String iSBN) {
ISBN = iSBN;
}

public String getBookTitle() {
return bookTitle;
}

public void setBookTitle(String bookTitle) {
this.bookTitle = bookTitle;
}

public String getCategory() {
return category;
}

public void setCategory(String category) {
this.category = category;
}

public String getAuthor() {
return author;
}

public void setAuthor(String author) {
this.author = author;
}

}

我该如何解决它?你能帮我吗?

最佳答案

使用以下代码将String ISBN 作为主键。

@Id 
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "uuid")
@Column(name = "ISBN")
private String ISBN;

或者

您可以从 Java 创建 UUID,如下代码所示:

UUID.randomUUID().toString();

关于mysql - 如何在hibernate中使用带有注释的字符串作为主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39849218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com