【问题标题】:How can i set encoding for Table and row using hibernate如何使用休眠设置表和行的编码
【发布时间】:2016-03-25 23:54:57
【问题描述】:

我是 java Hibernate 的新手,我尝试制作简单的 Hello world 项目。

我创建了一个用户类:

@Entity
@Table(name = "Table_User")
public class Table_User extends BaseObject implements Serializable {

    private String name;

    public Table_User(){
       //default  constructor
    }


    public TableUser(String name){
      this.name=name;
    }

    public String getName(){ return this.name; }
    public void setName(String name){ this.name=name; }


}

我正在使用<property name="hibernate.hbm2ddl.auto" value="update"/> 生成表格。

我的问题是。

如何设置表和行的编码name

我想设置utf8_czech_ci,但是是latin1_swedish_ci

感谢您的回复!

编辑,我的persisence.xml 文件是:

    <persistence-unit name="org.my"  transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

        <properties>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>

            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>

            <property name="hibernate.connection.password" value=""/>
            <property name="hibernate.connection.username" value="root"/>
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/myDb"/>

            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
            <property name="hibernate.validator.apply_to_ddl" value="true" />

            <property name="connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider"/>
            <property name="hibernate.c3p0.min_size" value="5"/>
            <property name="hibernate.c3p0.max_size" value="20"/>
            <property name="hibernate.c3p0.timeout" value="300"/>
            <property name="hibernate.c3p0.max_statements" value="50"/>
            <property name="hibernate.c3p0.idle_test_period" value="300"/>

        </properties>
    </persistence-unit>
</persistence>

【问题讨论】:

  • 你能把你的persistence.xml文件放在这里吗?
  • @MateuszKorwel 当然,我编辑。看。
  • 将“characterEncoding”指定为“utf8”(或者可能是“UTF-8”,查看 Hibernate 手册)。

标签: java mysql database hibernate encoding


【解决方案1】:

编码总是在数据库级别设置,而不是在 Hibernate 映射中。 如果你使用MySQL,可以如下设置:

CREATE DATABASE mydb
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_czech_ci;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    相关资源
    最近更新 更多