是否可以更改现有的Oracle 12c数据库以支持UTF-8编码而不删除它?

时间:2017-06-27 13:11:10

标签: java oracle hibernate spring-boot unicode

我的Spring Boot v1.3.5 REST申请JPA& hibernate使用CRUD执行Oracle 12c操作。由于Unicode Characters,我正面临一个问题。我现有的Oracle数据库不支持Unicode character设置,这就是为什么它们显示与原来不同的原因。

因此,要解决此问题,我已在AL32UTF8中使用DBCA创建了一个包含dev environment字符集的新数据库,但现在我们无法删除production中的现有数据库并且无法使用AL32UTF8字符集创建新的。

在关系数据库结束时:

我的列名为“Path”,它是NVARCHAR2数据类型,用于存储文件的完整绝对路径。

在liqibase xml中:

<createTable catalogName="xyz" tableName="file_details">
            <column name="id" type="NVARCHAR(36)">
                <constraints nullable="false"/>
            </column>
            <column name="path" type="NVARCHAR(255)"/>
        </createTable>
    </changeSet>

在对象关系映射(实体类)中:

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@Slf4j
@Entity
@Table(name = "FILE_DETAILS")
@EqualsAndHashCode(of = "id", callSuper = false)
public class FileDetails extends AbstractBaseEntity {
    @Id
    @Column(unique = true, length = 36)
    @NotNull
    private String id = UUID.randomUUID().toString();

    @Size(min = 1, max = 2000)
    @Column(name = "path")
    @NotNull
    @NotBlank
    private String path;
}

是否可以更改现有数据库以支持UTF-8编码而不删除它?

0 个答案:

没有答案