[hibernate-issues] [Hibernate-JIRA] Commented: (JPA-7) JPA Support of Enum as Primary Key
Bernard (JIRA)
noreply at atlassian.com
Sat May 21 17:01:25 EDT 2011
[ http://opensource.atlassian.com/projects/hibernate/browse/JPA-7?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42374#action_42374 ]
Bernard commented on JPA-7:
---------------------------
Karsten, you are missing the point of this issue which is the failure to map @Id @Enumerated(value = EnumType.ORDINAL) to a numeric field. You are cheating when you use EnumType.STRING.
The testcase includes persistence.xml which creates the table via <property name="hibernate.hbm2ddl.auto" value="update"/>, so we don't need to hand-code DDL as you suggest. You would need to update your build script to reflect that. Successful table generation with the correct column type is part of the test - please read the description. You add an incomplete six Megabyte zip file where in comparison the tiny original 13kb testcase just works. I wonder where the garbage (as you say) really is?
> JPA Support of Enum as Primary Key
> ----------------------------------
>
> Key: JPA-7
> URL: http://opensource.atlassian.com/projects/hibernate/browse/JPA-7
> Project: Java Persistence API
> Issue Type: Improvement
> Affects Versions: 1.0.1
> Environment: java version "1.6.0_21"
> Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
> Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)
> Hibernate JPA as installed with latest NetBeans release 6.9.1
> Reporter: Bernard
> Priority: Critical
> Attachments: enum-pks-hibtestcase.zip, TestCase.zip
>
>
> Enums work as primary keys in TopLink and EclipseLink.
> DataNucleus supports them, too:
> http://www.datanucleus.org/products/accessplatform/jpa/primary_key.html
> In the attached testcase, JPA, via persistence.xml, creates a database column type of
> VARBINARY. The data contained in it is like:
> 10101100111011010000000000000101~r0000000000011000main.MyEntity$EntityType0000000000000000000000000000000000000000000000000000000000000000000100100000000000000000xr0000000000001110java.lang.Enum0000000000000000000000000000000000000000000000000000000000000000000100100000000000000000xpt0000000000000110TYPE_1 Type 1
> That is not what we need.
> We need an integer because in the entity class, we specify
> @Enumerated(value = EnumType.ORDINAL)
> While Enum as ID field is not specifically supported in the JPA specs, it is not specifically excluded, either.
> It would be desirable to have the new version of the spec include this feature, too.
> The attached testcase (zip file) runs with NetBeans out of the box.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list