我有一些长名称的类,我使用Hibernate存储在数据库中。
我注意到,hibernate创建了dtype列(用于继承支持)作为字符变化(31)。
由于类名长于31个字符,插入失败。
解决问题的最佳方法是什么?
由于我有很多类,我更喜欢在每个类中添加注释的全局设置。dtype列太短,无法保存类名
4
A
回答
4
使用@DiscriminatorValue("some_short_name")
到所有的子类。我不认为有任何其他解决方案。
9
替代JB Nizets答案是通过指定
@DiscriminatorColumn(length=100)
将提供一个列,它是足够长的时间。