两个数据库的JsonType.class

时间:2018-11-21 21:27:45

标签: java json

我使用两个数据库oracle和postgresql。我有一个类JsonType实现UserType。在setObject方法中,postgresql使用Types.OTHER和来自Types.VARCHAR的oracle。是否可以通过在hibernate.cfg.xml配置文件中进行补充的方式来执行此操作?不幸的是,替换手的类型没有起作用:/。请帮助

@Override
public void nullSafeSet(final PreparedStatement ps, final Object value, final int idx,
                        final SessionImplementor session) throws HibernateException, SQLException {
    if (value == null) {
        ps.setNull(idx, Types.OTHER);
        return;
    }
    try {
        final ObjectMapper mapper = new ObjectMapper();
        final StringWriter w = new StringWriter();
        mapper.writeValue(w, value);
        w.flush();
        ps.setObject(idx, w.toString(), Types.OTHER);
    } catch (final Exception ex) {
        throw new RuntimeException("Failed to convert Invoice to String: " + ex.getMessage(), ex);
    }
}

编辑: 文件hibernate.cfg.xml由模式填充,因此这是一个文件,对于这两个数据库不是分开的

0 个答案:

没有答案