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/Enumerated"
m |
m |
||
Line 13: | Line 13: | ||
{{EclipseLink_AttributeTable | {{EclipseLink_AttributeTable | ||
− | |caption= | + | |caption=@Enumerated Attributes |
|content=<tr> | |content=<tr> | ||
<td>'''<tt>value</tt>'''</td> | <td>'''<tt>value</tt>'''</td> | ||
Line 25: | Line 25: | ||
Given the enumerated constants in the [[#Example 18-12|Enumerated Constants]] example, the [[#Example 18-13|Usage of the @Enumerated Annotation]] example shows how to use the <tt>@Enumerated</tt> annotation to specify that the <tt>String</tt> value of <tt>SalaryRate</tt> should be written to the database when <tt>Employee</tt> is persisted. By default, the ordinal value of <tt>EmployeeStatus</tt> is written to the database. | Given the enumerated constants in the [[#Example 18-12|Enumerated Constants]] example, the [[#Example 18-13|Usage of the @Enumerated Annotation]] example shows how to use the <tt>@Enumerated</tt> annotation to specify that the <tt>String</tt> value of <tt>SalaryRate</tt> should be written to the database when <tt>Employee</tt> is persisted. By default, the ordinal value of <tt>EmployeeStatus</tt> is written to the database. | ||
− | ======'' Example: Enumerated Constants''===== | + | ======'' Example: Enumerated Constants''====== |
<source lang="java"> | <source lang="java"> | ||
public enum EmployeeStatus {FULL_TIME, PART_TIME, CONTRACT} | public enum EmployeeStatus {FULL_TIME, PART_TIME, CONTRACT} |
Revision as of 13:39, 29 March 2011
EclipseLink JPA
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
@Enumerated
By default, EclipseLink persistence provider persists the ordinal values of enumerated constants.
Use the @Enumerated annotation to specify whether EclipseLink persistence provider should persist ordinal or String values of enumerated constants if the String value suits your application requirements, or to match an existing database schema:
You can use this annotation with the @Basic annotation.
Attribute | Description | Default | Required? |
---|---|---|---|
value | By default, EclipseLink persistence provider assumes that for a property or field mapped to an enumerated constant, the ordinal value should be persisted. In the Usage of the @Enumerated Annotation example, the ordinal value of EmployeeStatus is written to the database when Employee is persisted. If you want the String value of the enumerated constant persisted, set value to EnumType.STRING. |
No |
Given the enumerated constants in the Enumerated Constants example, the Usage of the @Enumerated Annotation example shows how to use the @Enumerated annotation to specify that the String value of SalaryRate should be written to the database when Employee is persisted. By default, the ordinal value of EmployeeStatus is written to the database.
Example: Enumerated Constants
public enum EmployeeStatus {FULL_TIME, PART_TIME, CONTRACT} public enum SalaryRate {JUNIOR, SENIOR, MANAGER, EXECUTIVE}
Example: @Enumerated Annotation
@Entity public class Employee implements Serializable{ ... public EmployeeStatus getStatus() { ... } @Enumerated(STRING) public SalaryRate getRate() { ... } ... }
For more information, see Section 9.1.21 "Enumerated Annotation" in the JPA Specification.
@Basic | @Temporal | |
EclipseLink Home
JPA User Guide: Table of Contents, Search |
||
How to contribute to this guide... |