如何修复';org.hibernate.id.IdentifierGenerationException:ids的未知整数数据类型:java.lang.String';在Eclipse中使用Spring引导

如何修复';org.hibernate.id.IdentifierGenerationException:ids的未知整数数据类型:java.lang.String';在Eclipse中使用Spring引导,java,spring,hibernate,rest,spring-boot,Java,Spring,Hibernate,Rest,Spring Boot,我试图将通过REST API的post方法()输入的数据保存到MySQL数据库,但我得到的是org.hibernate.id.IdentifierGenerationException:ids的未知整数数据类型:java.lang.String Book.java @实体 @表(name=“book”) 公共课堂用书{ @身份证 @生成值 @列(name=“ISBN”) 专用字符串ISBN; @列(name=“title”) 私有字符串标题; @列(name=“subject”) 私有字符串主题

我试图将通过REST API的post方法()输入的数据保存到MySQL数据库,但我得到的是org.hibernate.id.IdentifierGenerationException:ids的未知整数数据类型:java.lang.String

Book.java

@实体
@表(name=“book”)
公共课堂用书{
@身份证
@生成值
@列(name=“ISBN”)
专用字符串ISBN;
@列(name=“title”)
私有字符串标题;
@列(name=“subject”)
私有字符串主题;
@列(name=“publisher”)
私有字符串发布器;
@列(name=“language”)
私有字符串语言;
@列(name=“numberOfPages”)
私人int页码;
公共书籍(){
}
公共图书(字符串iSBN、字符串标题、字符串主题、字符串出版商、字符串语言、整数页){
ISBN=ISBN;
this.title=标题;
this.subject=主语;
this.publisher=publisher;
这种语言=语言;
this.numberOfPages=numberOfPages;
}
公共字符串getISBN(){
返回ISBN;
}
公共无效集合iSBN(字符串iSBN){
ISBN=ISBN;
}
公共字符串getTitle(){
返回标题;
}
公共无效集合标题(字符串标题){
this.title=标题;
}
公共字符串getSubject(){
返回主题;
}
public void setSubject(字符串主题){
this.subject=主语;
}
公共字符串getPublisher(){
返回出版商;
}
public void setPublisher(字符串发布器){
this.publisher=publisher;
}
公共字符串getLanguage(){
返回语言;
}
公共语言(字符串语言){
这种语言=语言;
}
public int getNumberOfPages(){
返回页数;
}
公共无效setNumberOfPages(int numberOfPages){
this.numberOfPages=numberOfPages;
}
@凌驾
公共字符串toString(){
return“Book[ISBN=“+ISBN+”,title=“+title+”,subject=“+subject+”,publisher=“+publisher
+“,language=“+language+”,numberOfPages=“+numberOfPages+”];
}
}
librarycontroller.java

@RestController
@请求映射(“/Library”)
公共类图书管理员{
私有静态最终记录器log=LoggerFactory.getLogger(librarycontroller.class);
@自动连线
图书馆服务;
@邮戳
公共响应地址簿(@RequestBody Book){
log.info(“输入addBooks方法”);
图书馆服务。添加图书(图书);
log.info(“退出addBooks方法”);
返回应答。ok(书);
}
}
libraryservice.java

@服务
公共图书馆服务{
@自动连线
图书馆馆藏库;
公共书籍(书籍){
图书馆馆藏。保存(图书);
}
}
libraryrepository.java

@存储库
公共接口库库扩展了JpaRepository{
}

获取以下错误消息创建在类路径资源[org/springframework/boot/autoconfigure/orm/jpa/hibernatejbaconfiguration.class]中定义的名为“entityManagerFactory”的bean时出错:调用init方法失败;嵌套异常为java.lang.annotation.AnnotationTypeMismatchException:为注释元素public abstract java.lang.String javax.persistence.GeneratedValue.generator()找到的数据类型不正确(找到的数据类型为Ljavax/persistence/GenerationType;.AUTO)

您已在ISBN字段上放置了
@GeneratedValue
注释,这是一个字符串。Hibernate不知道如何为此字段生成字符串值。首先:您真的希望Hibernate自动为这个字段生成一个值吗?如果不是,则删除注释。如果是,则需要配置Hibernate的生成器以生成适当的字符串值。是的,我希望Hibernate为此自动生成一个值。你知道如何配置Hibernate的生成器来生成一个合适的值吗?完全相同的问题和相关的解决方案在“我的工作”中讨论过,非常感谢。