我正在使用带有JPA 2的hibernate 4,我将它与Derby,MySQL或SQL Server一起使用!(无论如何应该不重要)
我想在表格字段中保存一个小的(<10kb)html文件。 html应该是Unicode。但我想知道如何在实体类中定义数据类型以及如何强制它以Unicode编写和读取(utf8)。在Java或注释中,当我将它显示在JavaFX2的浏览器组件中时。
答案 0 :(得分:1)
应与数据库无关的表字段示例:
@Basic(fetch = LAZY) //lazy loading is optional
@Lob
@Column(name = "HTML", columnDefinition = "text", length = 10240)
private String html;
对于UTF-8编码,您可以尝试使用基于Hibernate的连接属性
<property name="hibernate.dialect" value="see below" />
<property name="hibernate.connection.characterEncoding" value="utf8" />
<property name="hibernate.connection.charSet" value="utf8" />
<property name="hibernate.connection.useUnicode" value="true" />
或最终使用JDBC URL,即
<property name="connection.url"
value="jdbc:DatabaseProvider://host:port/DatabaseName?URLAttributes"/>
其中URL属性(除了其他属性):
注意:可能需要使用UTF-8
代替utf8
(反之亦然)
注意:hibernate.dialect
的值取决于the underlying database