public DatastoreIdentityMetadata getDatastoreIdentityMetadata() { IdentityMetaData internalIdmd = getInternal().getIdentityMetaData(); DatastoreIdentityMetadataImpl idmd = new DatastoreIdentityMetadataImpl(internalIdmd); idmd.parent = this; return idmd; }
public static boolean hasEncodedPKField(AbstractClassMetaData acmd) { if (acmd.getIdentityType() == IdentityType.DATASTORE) { IdentityMetaData idmd = acmd.getIdentityMetaData(); return idmd.hasExtension(DatastoreManager.ENCODED_PK); } else { int pkFieldNumber = acmd.getPKMemberPositions()[0]; // TODO Cater for composite PKs return isEncodedPKField(acmd, pkFieldNumber); } }
if (cmd.getIdentityMetaData() != null && cmd.getIdentityMetaData().getValueStrategy() != null) if (cmd.getIdentityMetaData().getValueStrategy() == ValueGenerationStrategy.INCREMENT) addSequenceTableForMetaData(cmd.getIdentityMetaData(), clr, seqTablesGenerated); else if (cmd.getIdentityMetaData().getValueStrategy() == ValueGenerationStrategy.SEQUENCE) String seqName = cmd.getIdentityMetaData().getSequence(); if (StringUtils.isWhitespace(seqName)) seqName = cmd.getIdentityMetaData().getValueGeneratorName(); addSequenceForMetaData(cmd.getIdentityMetaData(), seqName, clr, sequencesGenerated, ddlWriter);
if (cmd.getIdentityMetaData() != null && cmd.getIdentityMetaData().getValueStrategy() == ValueGenerationStrategy.IDENTITY) cmd.getIdentityMetaData().setValueStrategy(ValueGenerationStrategy.INCREMENT); NucleusLogger.METADATA.warn("Class " + cmd.getFullClassName() + " has been specified to use datastore-identity with IDENTITY value generation, but not supported on HBase. Using INCREMENT"); cmd.getIdentityMetaData().setValueStrategy(ValueGenerationStrategy.INCREMENT); NucleusLogger.METADATA.warn("Field " + mmd.getFullFieldName() + " has been specified to use IDENTITY value generation, but not supported on HBase. Using INCREMENT");
if (cmd.getIdentityMetaData() != null) str.append(getXMLForMetaData(cmd.getIdentityMetaData(), prefix + indent,indent));
/** * Method defining which value-strategy to use when the user specifies "native". * @return Should be overridden by all store managers that have other behaviour. */ public String getValueGenerationStrategyForNative(AbstractClassMetaData cmd, int absFieldNumber) { // TODO If the user has generated the schema and the column for this field is an autoincrement column then select IDENTITY if (getBooleanProperty(RDBMSPropertyNames.PROPERTY_RDBMS_LEGACY_NATIVE_VALUE_STRATEGY)) { // Use legacy process for deciding which strategy to use String sequence = null; if (absFieldNumber >= 0) { // real field sequence = cmd.getMetaDataForManagedMemberAtAbsolutePosition(absFieldNumber).getSequence(); } else { // datastore-identity surrogate field sequence = cmd.getIdentityMetaData().getSequence(); } if (dba.supportsOption(DatastoreAdapter.SEQUENCES) && sequence != null) { return ValueGenerationStrategy.SEQUENCE.toString(); } return ValueGenerationStrategy.INCREMENT.toString(); } return super.getValueGenerationStrategyForNative(cmd, absFieldNumber); }
ColumnMetaData colmd = acmd.getIdentityMetaData().getColumnMetaData(); if (colmd != null) { if ("varchar".equalsIgnoreCase(colmd.getJdbcType()) || "char".equalsIgnoreCase(colmd.getJdbcType())) {
ColumnMetaData colmd = childAcmd.getIdentityMetaData().getColumnMetaData(); if (colmd != null && ("varchar".equalsIgnoreCase(colmd.getJdbcType()) || "char".equalsIgnoreCase(colmd.getJdbcType()))) {
String strategyName = cmd.getIdentityMetaData().getValueStrategy().toString(); if (cmd.getIdentityMetaData().getValueStrategy().equals(IdentityStrategy.CUSTOM)) { strategyName = cmd.getIdentityMetaData().getValueStrategy().getCustomName();
String strategyName = cmd.getIdentityMetaData().getValueStrategy().toString(); if (cmd.getIdentityMetaData().getValueStrategy().equals(ValueGenerationStrategy.CUSTOM)) strategyName = cmd.getIdentityMetaData().getValueStrategy().getCustomName();
identityStrategyUsed = true; pkType = Key.class; ColumnMetaData colmd = cmd.getIdentityMetaData().getColumnMetaData(); if (colmd != null) { if ("varchar".equalsIgnoreCase(colmd.getJdbcType()) || "char".equalsIgnoreCase(colmd.getJdbcType())) {
if (cmd.getIdentityMetaData() != null && cmd.getIdentityMetaData().getColumnMetaData() != null) { colmd = cmd.getIdentityMetaData().getColumnMetaData();