de su ruta migratoria en los resultados de bases de datos existentes en "Tipo de columna incorrecta encontrado en la columna"

Akka Jaworek:

Tengo aplicación de inicio de la primavera que utiliza mi esquema de base de datos. Digamos que tengo esquema no vacía con mesa APPLICATION_USERSdefinida de la siguiente manera:

create table AREA
(
  name NVARCHAR2(36) not null,
  id   NUMBER not null
)

Ahora quería añadir la vía de migración a mi solicitud. He definido en mis propiedades de la aplicación flyway.baselineOnMigrate=truepara iniciar el despliegue inicial de la vía migratoria y spring.jpa.hibernate.ddl-auto=validatepara validar mis Enities agains esquema, sin embargo, al iniciar la aplicación me sale error siguiente:

 wrong column type encountered in column [name] in table [APPLICATION_USERS]; found [nvarchar2 (Types#OTHER)], but expecting [varchar2(255 char) (Types#VARCHAR)]

Por lo que yo entiendo, se queja NVARCHAR2, ya que esperar varcharcómo puedo forzar a Hibernate a aceptar nvarchar2como varchar?

yo se que puedo utilizar columnDefinitionen mis atributos de la entidad, sin embargo esto no es mi solución sueño, ¿hay alguna otra manera?

Simon Martinelli:

Asumo que está utilizando la base de datos de Oracle.

Usted tiene que anotar el nombre del atributo en su Entidad con Nationalized

@Nationalized
private String name;

También podría registrar su propio dialecto:

public class CustomOracleDialect extends Oracle10gDialect {

    public CustomOracleDialect() {
        super();
        registerColumnType(Types.NVARCHAR, "nvarchar2($l)");
        registerHibernateType(Types.NVARCHAR, StandardBasicTypes.STRING.getName());
    }
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=239370&siteId=1
Recomendado
Clasificación