我想要一个只接受枚举值集合之一的实体列。例如,假设我有一个POJO /实体类“Pet”,其字符串列为“petType”。我希望petType只允许三个值之一:“猫”,“狗”或“大猩猩”。我将如何去注释getPetType()方法以创建一个强制执行此操作的数据库级别约束?使用注解将约束添加到JPA或Hibernate实体列
我允许Hibernate通过将Hibernate属性“hbm2ddlauto”设置为“update”在应用程序启动时创建或更新我的数据库表。
我已经尝试使用与@Type注释关联的参数化用户类型,但是这似乎没有提供任何对数据库列本身的约束。似乎没有在@Column注释中指定这种约束的方法,但没有在columnDefinition元素中使用某些SQL,并且我很犹豫要走这条路线,因为看起来无论我使用什么都不会跨平台/数据库独立(对我来说很重要,因为我在Oracle上运行我的代码,但是我使用HSQLDB和Derby在本地进行测试)。也许我想做的只是简单地使用注释来完成。
在此先感谢您提供有关此主题的任何见解。
同样的问题在这里。令人惊讶的是,似乎没有办法解决这个问题? – stian 2011-04-18 11:07:36