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