2012-10-04 67 views
0

我有一个requeiremnt,即,我有多个常量来维护数据库表。如果用户想要更改,那些常量值可以完成。所以我需要的确切,我想枚举这些常量数据使用hibernate.So,什么是最好的解决方案中使用枚举映射与休眠或代替枚举是有这个requeiremnt在hibernate.If任何不对的需求量的遗憾如何使用hibernate中的枚举映射表?

回答

1

如果你打算使用JPA check this

任何可能的方式如果您计划要使用没有JPA的hibernate,hibernate提供了org.hibernate.type.EnumType来映射枚举类型。例如,

package com.igalia.enumerates; 

public enum Status { 
    BUSY, 
    AVAILABLE; 
} 

package com.igalia.entities; 

class MyClass { 
    private Status status; 
} 

然后,做你的Hibernate映射如下:

<class name="MyClass"> 
    <id name="id"> 
     <generator class="native"/> 
    </id> 

    <property name="status"> 
     <type name="org.hibernate.type.EnumType"> 
     <param name="enumClass">com.igalia.enumerates.Status</param> 
     </type> 
    </property> 
</class> 
+0

Thanks.In MyEnum类有哪些表列的需要枚举,然后在这个配置property.is是正确的。所以,如果?任何用户修改表数据都会影响到这个枚举类也是。是不是? – user1357722

+0

我已经更新了我的解决方案,也许现在应该更清楚了! – Anshu

+0

是的,它的权利 – user1357722