Hibernate字符串到MSSQL中的char(32)映射

时间:2015-11-20 13:18:54

标签: java sql-server hibernate

我们在Microsoft SQL Server 2008中已经有一个架构(已经创建),其中的表是一个类型为char(32)的列。 我们想将此映射到实体属性,但它失败并显示消息:

  

org.hibernate.HibernateException:myTable中的列类型错误   列myColumn。找到:char,expected:varchar(255)

使用的方言是org.hibernate.dialect.SQLServer2008Dialect,该属性仅用

注释
  @Column(name = "my_Column")
    public String getMyColumn() {
        return myColumn;
    }

应用程序不会写入数据库 - 它将以只读方式使用。

如何设置它?我们尝试使用各种值进行@Type注释,但没有成功。

编辑:

事实证明,我的真正问题是hibernate.globally_quoted_identifiers=true属性导致columnDefinition无法使用,我认为这不是正确的做事方式。在再次指出columnDefinition解决方案之后,我付出了更多的努力来找出它为什么对我们不起作用并删除这个属性使它对我们的建议起作用。

1 个答案:

答案 0 :(得分:2)

columnDefinition注释中添加@Column。请参阅this回答。