In the previous section, we saw that a UniqueConstraint
		 uses an array of column names.  Field mappings, 
		however, use full-fledged Column annotations.	
		Column annotations have the following properties:
		
				
				String columnDefinition: The 
				database-specific column type name.  This property is only used
				by vendors that support creating tables from your mapping 
				metadata.  During table creation, the vendor will use the value 
				of the columnDefinition as the declared 
				column type.  If no columnDefinition is 
				given, the vendor will choose an appropriate default based on 
				the field type combined with the column's length, precision,
				and scale. 
				
				
				int length: The column length.  This 
				property is typically only used during table creation, though 
				some vendors might use it to validate data before flushing.  
				CHAR and VARCHAR
				 columns typically default to a length of 255; other 
				column types use the database default.
				
				
				int precision: The precision of a numeric
				column.  This property is often used in 
				conjunction with scale to form the 
				proper column type name during table creation.
				
				
				int scale: The number of decimal digits a 
				numeric column can hold.  This property is often used in 
				conjunction with precision to form the 
				proper column type name during table creation.
				
				
				boolean nullable: Whether the column can 
				store null values.  Vendors may use this property both for table
				creation and at runtime; however, it is never required.
				Defaults to true.
				
				
				boolean insertable: By setting this property
				to false, you can omit the column from
				SQL INSERT statements.
				Defaults to true.
				
				
				boolean updatable: By setting this property
				to false, you can omit the column from
				SQL UPDATE statements.
				Defaults to true.
				
				
				String table: Sometimes you will
				need to map fields to tables other than the primary table.
				This property allows you specify that the column resides in a
				secondary table.  We will see how to map fields to secondary	
				tables later in the chapter.
				
		The equivalent XML element is column.  This
		element has attributes that are exactly equivalent to the 
		Column annotation's properties described above:
		
name
column-definition
length
precision
scale
insertable
updatable
table
|    |