JDO Class - конвертировать в varchar или nvarchar на основе MySQL или MSSQL

У меня есть класс JDO. Некоторые из атрибутов, как показано ниже:

@Column(jdbcType = "VARCHAR", length = 200)
String anotherSrcFieldValue;

@Column(jdbcType = "BIGINT")
long tgtFieldId;

@Column(jdbcType = "VARCHAR", length = 200)
String tgtFieldValue;

С MySQL и MSSQL все работает нормально.

Мое требование, если это MySQL, сделать его столбцом типа VARCHAR; и когда это MSSQL, создайте столбец типа NVARCHAR. Как мне этого добиться?

Второе требование - один класс сущностей, который должен выполняться в обеих базах данных.

1 ответ

Все документы JDO, которые я видел, ясно объясняют, что помещать информацию, специфичную для схемы, в аннотации - плохая идея. Следовательно, у вас должно быть 2 файла "package-mysql.orm" и "package-mssql.orm", чтобы указать специфичные для схемы части отображения, и установить "datanucleus.Mapping"быть либо"mysql", либо"mssql"в зависимости от вашего хранилища данных. Согласно http://www.datanucleus.org/products/accessplatform_4_2/jdo/orm/metadata_orm.html

Другие вопросы по тегам