[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