Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Basic Mappings/Column"
< EclipseLink | UserGuide | JPA | Basic JPA Development | Mapping | Basic Mappings
m |
|||
Line 1: | Line 1: | ||
{{EclipseLink_UserGuide | {{EclipseLink_UserGuide | ||
|info=y | |info=y | ||
− | |toc=n}} | + | |toc=n}} |
− | THIS PAGE IS IN PROGRESS... | + | THIS PAGE IS IN PROGRESS... |
− | =@Column= | + | = @Column = |
− | Use the Column annotation to specify a mapped column for a persistent property or field. | + | Use the Column annotation to specify a mapped column for a persistent property or field. |
.{{EclipseLink_Spec | .{{EclipseLink_Spec | ||
− | |section=Section 11.1.9 "Column Annotation"}} | + | |section=Section 11.1.9 "Column Annotation"}} |
− | + | <br> {{EclipseLink_AttributeTable | |
− | + | ||
− | + | ||
− | + | ||
− | {{EclipseLink_AttributeTable | + | |
|caption=The <tt>@Column</tt> annotation has the following attributes: | |caption=The <tt>@Column</tt> annotation has the following attributes: | ||
|content= | |content= | ||
<tr> | <tr> | ||
<td>'''<tt>name</tt>'''</td> | <td>'''<tt>name</tt>'''</td> | ||
− | <td> | + | <td>The name of the column.</td> |
− | <td> | + | <td>The property or field |
− | <td> | + | name.</td> |
+ | <td>No</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>'''<tt>unique</tt>'''</td> | <td>'''<tt>unique</tt>'''</td> | ||
− | <td> | + | <td>Whether the column is a unique key. This is a shortcut for the UniqueConstraint annotation at the table level and is useful for when the unique key constraint corresponds to only a single column. This constraint applies in addition to any constraint entailed by primary key mapping and to constraints specified at the table level.</td> |
− | <td> | + | <td><tt>false</tt></td> |
− | <td> | + | <td>No</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>'''<tt>nullable</tt>'''</td> | <td>'''<tt>nullable</tt>'''</td> | ||
− | <td> | + | <td>Whether the database column is nullable.</td> |
− | <td> | + | <td><tt>true</tt></td> |
− | <td> | + | <td>No</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>'''<tt>insertable</tt>'''</td> | <td>'''<tt>insertable</tt>'''</td> | ||
− | <td> | + | <td>Whether the column is included in SQL INSERT statements generated by the persistence |
− | <td> | + | provider.</td> |
− | <td> | + | <td><tt>true</tt></td> |
+ | <td>No</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>'''<tt>updatable</tt>'''</td> | <td>'''<tt>updatable</tt>'''</td> | ||
− | <td> | + | <td>Whether the column is included in SQL UPDATE statements generated by the persistence provider.</td> |
− | <td> | + | <td><tt>true</tt></td> |
− | <td> | + | <td>No</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>'''<tt>columnDefinition</tt>'''</td> | <td>'''<tt>columnDefinition</tt>'''</td> | ||
− | <td> | + | <td>The SQL fragment that is used when generating the DDL for the column.</td> |
− | <td> | + | <td>Generated SQL to create a column of the inferred type.</td> |
− | <td> | + | <td>No</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>'''<tt>table</tt>'''</td> | <td>'''<tt>table</tt>'''</td> | ||
− | <td> | + | <td>The name of the table that contains the column. If absent the column is assumed to be in the |
− | <td> | + | primary table for the mapped object.</td> |
− | <td> | + | <td>Column is in primary table.</td> |
+ | <td>No</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>'''<tt>length</tt>'''</td> | <td>'''<tt>length</tt>'''</td> | ||
− | <td> | + | <td>The column length. (Applies only if a string-valued column is used.)</td> |
− | <td> | + | <td>255</td> |
− | <td> | + | <td>No</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>'''<tt>precision</tt>'''</td> | <td>'''<tt>precision</tt>'''</td> | ||
− | <td> | + | <td>The precision for a decimal (exact numeric) column. (Applies only if a decimal column is used.)</td> |
− | <td> | + | <td><tt>0</tt> (Value must be set by developer.)</td> |
− | <td> | + | <td>No</td> |
</tr> | </tr> | ||
+ | <tr> | ||
+ | <td>'''<tt>scale</tt>'''</td> | ||
+ | <td>The scale for a decimal (exact numeric) column. (Applies only if a decimal column is used.) | ||
+ | </td> | ||
+ | <td><tt>0</tt></td> | ||
+ | <td>No</td> | ||
+ | </tr> | ||
+ | }} | ||
+ | |||
+ | <br> The following example shows how to use the <tt>@Column</tt> annotation to .... | ||
− | + | '''''Usage of the @Column Annotation''''' <source lang="java"> | |
− | ''''' Usage of the @Column Annotation''''' | + | |
− | <source lang="java"> | + | |
@Column(name="ORDER_COST", updatable=false, precision=12, scale=2) | @Column(name="ORDER_COST", updatable=false, precision=12, scale=2) | ||
public BigDecimal getCost() { return cost; } | public BigDecimal getCost() { return cost; } | ||
− | </source> | + | </source> |
{{EclipseLink_JPA | {{EclipseLink_JPA |
Revision as of 14:01, 14 February 2011
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
THIS PAGE IS IN PROGRESS...
@Column
Use the Column annotation to specify a mapped column for a persistent property or field.
.For more information, see Section 11.1.9 "Column Annotation" in the JPA Specification.
Attribute | Description | Default | Required? |
---|---|---|---|
name | The name of the column. | The property or field name. | No |
unique | Whether the column is a unique key. This is a shortcut for the UniqueConstraint annotation at the table level and is useful for when the unique key constraint corresponds to only a single column. This constraint applies in addition to any constraint entailed by primary key mapping and to constraints specified at the table level. | false | No |
nullable | Whether the database column is nullable. | true | No |
insertable | Whether the column is included in SQL INSERT statements generated by the persistence provider. | true | No |
updatable | Whether the column is included in SQL UPDATE statements generated by the persistence provider. | true | No |
columnDefinition | The SQL fragment that is used when generating the DDL for the column. | Generated SQL to create a column of the inferred type. | No |
table | The name of the table that contains the column. If absent the column is assumed to be in the primary table for the mapped object. | Column is in primary table. | No |
length | The column length. (Applies only if a string-valued column is used.) | 255 | No |
precision | The precision for a decimal (exact numeric) column. (Applies only if a decimal column is used.) | 0 (Value must be set by developer.) | No |
scale | The scale for a decimal (exact numeric) column. (Applies only if a decimal column is used.) | 0 | No |
The following example shows how to use the @Column annotation to ....
@Column(name="ORDER_COST", updatable=false, precision=12, scale=2) public BigDecimal getCost() { return cost; }