column.setAlias(descriptor.getName()); column.setLength(columnAnn.length()); column.setPrecision(columnAnn.precision()); column.setJavaType(descriptor.getPropertyType()); if (!columnAnn.updatable()) {
@Test public void testColumnAllAttributes() throws Exception { reader = getReader( Entity3.class, "field1", "element-collection.orm17.xml" ); assertAnnotationPresent( ElementCollection.class ); assertAnnotationPresent( Column.class ); Column column = reader.getAnnotation( Column.class ); assertEquals( "col1", column.name() ); assertTrue( column.unique() ); assertFalse( column.nullable() ); assertFalse( column.insertable() ); assertFalse( column.updatable() ); assertEquals( "int", column.columnDefinition() ); assertEquals( "table1", column.table() ); assertEquals( 50, column.length() ); assertEquals( 2, column.precision() ); assertEquals( 1, column.scale() ); }
@Test public void testColumnNoAttributes() throws Exception { reader = getReader( Entity3.class, "field1", "element-collection.orm16.xml" ); assertAnnotationPresent( ElementCollection.class ); assertAnnotationPresent( Column.class ); Column column = reader.getAnnotation( Column.class ); assertEquals( "", column.name() ); assertFalse( column.unique() ); assertTrue( column.nullable() ); assertTrue( column.insertable() ); assertTrue( column.updatable() ); assertEquals( "", column.columnDefinition() ); assertEquals( "", column.table() ); assertEquals( 255, column.length() ); assertEquals( 0, column.precision() ); assertEquals( 0, column.scale() ); }
column.setSqlType( sqlType ); column.setLength( col.length() ); column.setPrecision( col.precision() ); column.setScale( col.scale() ); if ( StringHelper.isEmpty( columnName ) && ! StringHelper.isEmpty( suffixForDefaultColumnName ) ) {
assertEquals( "", overrides[0].column().table() ); assertEquals( 255, overrides[0].column().length() ); assertEquals( 0, overrides[0].column().precision() ); assertEquals( 0, overrides[0].column().scale() ); assertEquals( "field2", overrides[1].name() ); assertEquals( "table1", overrides[1].column().table() ); assertEquals( 50, overrides[1].column().length() ); assertEquals( 2, overrides[1].column().precision() ); assertEquals( 1, overrides[1].column().scale() );
assertEquals( "", overrides[0].column().table() ); assertEquals( 255, overrides[0].column().length() ); assertEquals( 0, overrides[0].column().precision() ); assertEquals( 0, overrides[0].column().scale() ); assertEquals( "field2", overrides[1].name() ); assertEquals( "table1", overrides[1].column().table() ); assertEquals( 50, overrides[1].column().length() ); assertEquals( 2, overrides[1].column().precision() ); assertEquals( 1, overrides[1].column().scale() );
assertEquals( "", overrides[0].column().table() ); assertEquals( 255, overrides[0].column().length() ); assertEquals( 0, overrides[0].column().precision() ); assertEquals( 0, overrides[0].column().scale() ); assertEquals( "field2", overrides[1].name() ); assertEquals( "table1", overrides[1].column().table() ); assertEquals( 50, overrides[1].column().length() ); assertEquals( 2, overrides[1].column().precision() ); assertEquals( 1, overrides[1].column().scale() );
private static Integer interpretPrecision(javax.persistence.Column col) { if ( col == null ) { return null; } if ( col.precision() == 0 ) { // JPA annotation defines 0 as the default value for this // Column#precision attribute. Until we us Jandex we // do not know whether the 0 here was explicitly set // or is just the JVM-applied default. We assume the later // which creates a small possibility of an "error" for that // specific value if explicitly set return null; } return col.precision(); }
protected void readColumn(Column columnAnn, DeployBeanProperty prop) { if (!isEmpty(columnAnn.name())) { String dbColumn = databasePlatform.convertQuotedIdentifiers(columnAnn.name()); prop.setDbColumn(dbColumn); } prop.setDbInsertable(columnAnn.insertable()); prop.setDbUpdateable(columnAnn.updatable()); prop.setNullable(columnAnn.nullable()); prop.setUnique(columnAnn.unique()); if (columnAnn.precision() > 0) { prop.setDbLength(columnAnn.precision()); } else if (columnAnn.length() != 255) { // set default 255 on DbTypeMap prop.setDbLength(columnAnn.length()); } prop.setDbScale(columnAnn.scale()); prop.setDbColumnDefn(columnAnn.columnDefinition()); String baseTable = descriptor.getBaseTable(); String tableName = columnAnn.table(); if (!"".equals(tableName) && !tableName.equalsIgnoreCase(baseTable)) { // its on a secondary table... prop.setSecondaryTable(tableName); } }
Field f = MyClass.class.getDeclaredField("someColumnInTable")) { Column column = f.getAnnotation(Column.class); if (column != null){ System.out.println(column.precision()); }
private static String getDefaultColumnType(Class<?> type, Column col) { String ddl = DEFAULT_COLUMN_TYPES.get(type); if (ddl.equals("VARCHAR($1)")) { ddl = ddl.replace("$1", String.valueOf(col == null ? 255 : col.length())); } if (ddl.equals("DECIMAL($1,$2)")) { int preci = col == null ? 0 : col.precision(); int scale = col == null ? 0 : col.scale(); if (preci == 0) { preci = 10; // default DECIMAL precision of MySQL } ddl = ddl.replace("$1", String.valueOf(preci)).replace("$2", String.valueOf(scale)); } return ddl; }
column.setSqlType( sqlType ); column.setLength( col.length() ); column.setPrecision( col.precision() ); column.setScale( col.scale() ); if ( StringHelper.isEmpty( columnName ) && ! StringHelper.isEmpty( suffixForDefaultColumnName ) ) {
/** * Setup the given column with information from the given annotation. */ private static void setupColumn(Column col, javax.persistence.Column anno) { if (!StringUtils.isEmpty(anno.name())) col.setName(anno.name()); if (!StringUtils.isEmpty(anno.columnDefinition())) col.setTypeName(anno.columnDefinition()); if (anno.precision() != 0) col.setSize(anno.precision()); else if (anno.length() != 255) col.setSize(anno.length()); col.setNotNull(!anno.nullable()); col.setDecimalDigits(anno.scale()); col.setFlag(Column.FLAG_UNINSERTABLE, !anno.insertable()); col.setFlag(Column.FLAG_UNUPDATABLE, !anno.updatable()); }
/** * Setup the given column with information from the given annotation. */ private static void setupColumn(Column col, javax.persistence.Column anno, boolean delimit) { if (!StringUtils.isEmpty(anno.name())) col.setIdentifier(DBIdentifier.newColumn(anno.name(),delimit)); if (!StringUtils.isEmpty(anno.columnDefinition())) col.setTypeIdentifier(DBIdentifier.newColumnDefinition(anno.columnDefinition())); if (anno.precision() != 0) col.setSize(anno.precision()); else if (anno.length() != 255) col.setSize(anno.length()); col.setNotNull(!anno.nullable()); col.setDecimalDigits(anno.scale()); col.setFlag(Column.FLAG_UNINSERTABLE, !anno.insertable()); col.setFlag(Column.FLAG_UNUPDATABLE, !anno.updatable()); }
/** * Setup the given column with information from the given annotation. */ private static void setupColumn(Column col, javax.persistence.Column anno, boolean delimit) { if (!StringUtil.isEmpty(anno.name())) col.setIdentifier(DBIdentifier.newColumn(anno.name(),delimit)); if (!StringUtil.isEmpty(anno.columnDefinition())) col.setTypeIdentifier(DBIdentifier.newColumnDefinition(anno.columnDefinition())); if (anno.precision() != 0) col.setSize(anno.precision()); else if (anno.length() != 255) col.setSize(anno.length()); col.setNotNull(!anno.nullable()); col.setDecimalDigits(anno.scale()); col.setFlag(Column.FLAG_UNINSERTABLE, !anno.insertable()); col.setFlag(Column.FLAG_UNUPDATABLE, !anno.updatable()); }
/** * Setup the given column with information from the given annotation. */ private static void setupColumn(Column col, javax.persistence.Column anno, boolean delimit) { if (!StringUtil.isEmpty(anno.name())) col.setIdentifier(DBIdentifier.newColumn(anno.name(),delimit)); if (!StringUtil.isEmpty(anno.columnDefinition())) col.setTypeIdentifier(DBIdentifier.newColumnDefinition(anno.columnDefinition())); if (anno.precision() != 0) col.setSize(anno.precision()); else if (anno.length() != 255) col.setSize(anno.length()); col.setNotNull(!anno.nullable()); col.setDecimalDigits(anno.scale()); col.setFlag(Column.FLAG_UNINSERTABLE, !anno.insertable()); col.setFlag(Column.FLAG_UNUPDATABLE, !anno.updatable()); }
public ColumnConfig(Column column) { setName(column.name()); setUnique(column.unique()); setNullable(column.nullable()); setInsertable(column.insertable()); setUpdatable(column.updatable()); setColumnDefinition(column.columnDefinition()); setTable(column.table()); setLength(column.length()); setPrecision(column.precision()); setScale(column.scale()); }
/** * Fill the column value by introspection */ public void introspect(Column column) { setName(column.name()); setUnique(column.unique()); setNullable(column.nullable()); setInsertable(column.insertable()); setUpdatable(column.updatable()); setColumnDefinition(column.columnDefinition()); setTable(column.table()); setLength(column.length()); setPrecision(column.precision()); setScale(column.scale()); } }