Java Eclipselink自动创建utf8\u unicode\u ci

Java Eclipselink自动创建utf8\u unicode\u ci,java,eclipselink,Java,Eclipselink,启动应用程序时,eclipselink设置为自动删除并在数据库中创建表。我已经将其设置为使用表创建后缀创建InnoDB引擎。但是,我希望文本编码是utf8\uUnicode\uCI。如何设置xml文件来实现这一点。现在,它默认为utf8\u general\u ci <?xml version="1.0" encoding="UTF-8" ?> <persistence xmlns:xsi="http://www.w3.org/2001/XMLSc...> <p

启动应用程序时,eclipselink设置为自动删除并在数据库中创建表。我已经将其设置为使用表创建后缀创建InnoDB引擎。但是,我希望文本编码是utf8\uUnicode\uCI。如何设置xml文件来实现这一点。现在,它默认为utf8\u general\u ci

<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSc...>
  <persistence-unit name="Data">

    <class>com.core.objects.StandardObject</class>

    <properties>
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
     <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/data" />
     <property name="javax.persistence.jdbc.user" value="username" />
     <property name="javax.persistence.jdbc.password" value="password" />

     <!-- EclipseLink should create the database schema automatically -->
     <property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
     <property name="eclipselink.ddl-generation.output-mode" value="database" />
     <property name="eclipselink.ddl-generation.table-creation-suffix" value="engine=InnoDB " />
    </properties>
  </persistence-unit>
</persistence>


你问这个问题已经有一段时间了,不管怎样,如果有人想知道的话,我只是偶然发布了这个答案

将“javax.persistence.jdbc.url”属性值从

"jdbc:mysql://localhost:3306/data"

这将为您的数据库启用unicode支持。

希望你现在已经明白了;)

自动创建表格时,您可以配置此参数:

<prop key=eclipselink.ddl-generation.table-creation-suffix>ENGINE=InnoDB DEFAULT CHARSET=utf8</prop>
ENGINE=InnoDB默认字符集=utf8
<prop key=eclipselink.ddl-generation.table-creation-suffix>ENGINE=InnoDB DEFAULT CHARSET=utf8</prop>