проблема заключается в следующем: мы используем спящий режим с аннотациями в качестве O / R Mapper.
Некоторые аннотации @Column выглядят так:
@Column(columnDefinition = "longblob", name = "binaryData", nullable = true)
или
@Column(columnDefinition = "mediumtext", name = "remark", nullable = true)
с атрибутами columnDefinition, специфичными для mysql
на postgres, например, значения columnDefinition должны быть "bytea" и "varchar (999999)"
а на оракуле возможно что-то еще.
В настоящее время возникают проблемы во время экспорта схемы, например, при создании операторов DDL.
Возможные обходные пути, о которых я могу подумать:
- Взломать драйвер JDBC, который заменяет текст (например, longblob-> bytea) для операторов DDL. Это некрасиво, но будет работать как-то
- Использовать конфигурацию hibernate xml вместо аннотаций. Это, вероятно, будет работать, но я предпочитаю аннотации
Кто-нибудь знает альтернативы? Hibernate конкретные обходные пути в порядке, например, если атрибут columnDefinition может содержать определенные значения диалекта, такие как
@Column(columnDefinition = "mysql->mediumtext, postgres->varchar(999999)", name = "remark", nullable = true)
Спасибо
Хольгер