2013-02-11 40 views
4

我有一些长名称的类,我使用Hibernate存储在数据库中。
我注意到,hibernate创建了dtype列(用于继承支持)作为字符变化(31)。
由于类名长于31个字符,插入失败。
解决问题的最佳方法是什么?
由于我有很多类,我更喜欢在每个类中添加注释的全局设置。dtype列太短,无法保存类名

回答

4

使用@DiscriminatorValue("some_short_name")到所有的子类。我不认为有任何其他解决方案。

9

替代JB Nizets答案是通过指定

@DiscriminatorColumn(length=100) 

将提供一个列,它是足够长的时间。