使用hibernate和mysql 5.5,我试图将字符串值保留在数据库表的TEXT类型列中。
厌倦了在提到的列中设置String值并试图持久化数据。但是我遇到了以下异常。我已经使用Netbeans 8.0生成了Entity类。
例外:-
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”using @Column(columnDefinition = "TEXT")
代替@Lob
,再次给出了相同的结果。“ org.hibernate.engine.jdbc.BlobProxy@11e84b60”@Type(type="text")
代替@Lob
,再次给出了相同的结果。“ org.hibernate.engine.jdbc.BlobProxy@11e84b60”删除@Lob和@Size批注,并使用@Type(type =“ text”)代替
工作。谢谢
问题内容: 我收到错误消息: org.hibernate.TypeMismatchException:为类BEntity提供了错误类型的ID。预期:类BEntity,得到类AEntity HQL查询: hibernate源代码 当我在SQL Explorer中运行代码时,只能在代码中运行它会导致问题… 问题答案: 看来这是hibernate3.2.6版中的一个缺陷,该缺陷仍未解决。碰到了这个JIR
问题内容: 我正在尝试使用Hibernate插入或更新大数据。我有一个包含350k对象的列表,当我使用Hibernate时,要花费数小时才能插入所有数据。 我正在使用以下代码进行此操作。我的开发环境是JDK1.4和Oracle数据库。 我正在使用批处理更新,还设置了属性50,但这并没有帮助。 我的对象与另一个对象具有一对一的关系,因此在这种情况下使用StatelessSession可能会出现问题。
问题内容: 我知道休眠最近在3.6中重做了它的类型系统。我认为这现在允许您将Java类与类型(或UserType)相关联。例如,我使用joda- time并具有几个UserType,它们将LocalDate和LocalDateTime映射到适当的SQL类型。 当使用对象时,这很好用,但是如果我想传递一个joda类型作为HQL参数,hibernate会感到困惑,所以我必须记住每次打电话时都要提供Ty
问题内容: hibernate命名查询为数据类型为NUMBER的列返回BigDecimal。 在客户端,我希望col1的数据类型很长(原始),我这样做: 要么 在两种情况下,我得到: 我怎样才能解决这个问题?我怀疑,混叠有问题吗? 问题答案: 默认情况下,Oracle NUMBER映射到Hibernate中的BigDecimal。尝试将类型设置为BigDecimal。
我试图用JOOQ生成这个简单的SQL,但由于某些原因,我无法完成。 我以为会是这样 不幸的是,MySQLDataType已被弃用()。所以我试过了 但是我得到了以下SQL,这是不合法的。 有什么提示吗?
问题内容: 我使用Jersey作为Rest Web服务和Hibernate实体管理器来持久化JPA模型。我正在使用Tomcat 8作为容器。 这是persistence.xml文件的内容: 我的Rest呼叫就这么简单: 这是我的web.xml文件 但这给了我这个错误: 我无法弄清楚问题出在哪里!有什么帮助吗? 根据建议,这是mvn依赖项:tree日志: 问题答案: 根据@Ravindran Kan