首页 > 解决方案 > Java 在从 Oracle DB 12c 获取值时将特殊字符转换为 HTML5 实体

问题描述

我需要从 Oracle DB 中获取多语言数据。正如我从 sql developer 那里检查的那样,存储在 Oracle 表中的数据格式正确,但是当我尝试使用我的 Spring Boot 应用程序 uisng 查询来获取它时,它会被加密。任何建议如何在我的 Java 应用程序中获取相同格式的相同数据?

例如 String ' 被转换为 & apos ; (添加空间)

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
public List<CustomerTrigger> fetchTriggerDetails(String queryForTrigger)
        throws COException {
    List<CustomerTrigger> triggersList = null;

    try {
        triggersList = coJdbcTemplate.query(queryForTrigger,
                new BeanPropertyRowMapper<CustomerTrigger>(
                        CustomerTrigger.class));
        // if triggerListis not empty then only update
        if (null != triggersList && !triggersList.isEmpty()) {
            List<String> queryTriggerList = new ArrayList<>();
            for (CustomerTrigger CustomerTrigger : triggersList) {
                List<String> list= Arrays.asList(CustomerTrigger.getEventId().
                        split(StringConstants.COMMA_SEPERATOR));
                queryTriggerList.addAll(list);

            }        
        }

    } catch (DataAccessException e) {
        logger.error("Error while updating records" + e.getMessage());
        e.printStackTrace();
        MyException myException = new MyException(
                ErrorConstants.TM_SQL_EXCEPTION_ERROR_CODE,
                ErrorConstants.TM_SQL_EXCEPTION_ERROR_CODE
                        + StringConstants.COLON + e.getMessage());
        throw myException;
    }

    return triggersList;
}

标签: javaencodingoracle12c

解决方案


推荐阅读