gpt4 book ai didi

java - 保留 TEXT 数据类型时出现 hibernate 错误

转载 作者:行者123 更新时间:2023-11-29 01:40:32 28 4
gpt4 key购买 nike

使用 hibernate 和 mysql 5.5,我试图在数据库表的 TEXT 类型列中保留字符串值。

厌倦了在提到的列中设置字符串值并尝试保留数据。但我遇到了以下异常。我已经使用 Netbeans 8.0 生成了实体类。



异常(exception):-

FATAL:   JSF1073: javax.faces.FacesException caught during processing of INVOKE_APPLICATION 5 : UIComponent-ClientId=, Message=/addNewCategory.xhtml @30,151 actionListener="#{categoryBean.addCategoryAction}": java.lang.AbstractMethodError: com.mysql.jdbc.ServerPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V
FATAL: /addNewCategory.xhtml @30,151 actionListener="#{categoryBean.addCategoryAction}": java.lang.AbstractMethodError: com.mysql.jdbc.ServerPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V
javax.faces.FacesException: /addNewCategory.xhtml @30,151 actionListener="#{categoryBean.addCategoryAction}": java.lang.AbstractMethodError: com.mysql.jdbc.ServerPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:89)

创建 SQL:-

 CREATE TABLE `oc_category_description` (
`category_id` int(11) NOT NULL,
`language_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`description` text NOT NULL,
`meta_description` varchar(255) NOT NULL,
`meta_keyword` varchar(255) NOT NULL,
PRIMARY KEY (`category_id`,`language_id`),
KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

/*!40101 SET character_set_client = @saved_cs_client */;

实体类

@Entity
@Table(name = "oc_category_description")
@XmlRootElement
public class OcCategoryDescription implements Serializable {
private static final long serialVersionUID = 1L;

@Basic(optional = false)
@NotNull
@Lob
@Size(min = 1, max = 65535)
@Column(name = "description")
private String description;

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}
//Constructors, setters, getters, equals and hashcode
}

在提出问题之前,我浏览了以下没有多大帮助的链接。



  • 我还尝试通过删除 @Lob 来持久化数据,它将数据保存为“org.hibernate.engine.jdbc.BlobProxy@11e84b60”
  • 我尝试使用@Column(columnDefinition = "TEXT") 而不是@Lob,再次给出相同的结果。 "org.hibernate.engine.jdbc.BlobProxy@11e84b60"
  • 我尝试了 @Type(type="text") 而不是 @Lob,它再次给出相同的结果。 "org.hibernate.engine.jdbc.BlobProxy@11e84b60"

最佳答案

remove the @Lob and @Size annotations, and use @Type(type="text") instead

成功了。感谢@Maurice 和@Funtik

关于java - 保留 TEXT 数据类型时出现 hibernate 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094410/

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