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

标签 java sql-server hibernate

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

org.hibernate.HibernateException: Wrong column type in myTable for column myColumn. Found: char, expected: varchar(255)

使用的方言是org.hibernate.dialect.SQLServer2008Dialect并且该属性仅注释为

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

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

如何设置才能发挥作用?我们尝试过@Type具有各种值的注释但没有成功。

编辑:

事实证明我真正的问题是hibernate.globally_quoted_identifiers=true columnDefinition的属性(property)无法使用,我认为这不是做这些事情的正确方法。被指向columnDefinition后再次解决方案我投入更多精力找出它对我们不起作用的原因,并删除此属性使其按照建议对我们起作用。

最佳答案

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

关于java - MSSQL 中的 Hibernate 字符串到 char(32) 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33827725/

相关文章:

SQL Server : Hierarchy recursive CTE with no anchor

java - Hibernate 中缓存并发性中的只读与非限制读写

java - Spring的存储过程,解析结果Map

java - 如何解决未经检查的强制转换警告?

java - 为什么 chrome 驱动程序在 @Before 中不起作用?

java - 持有对 Activity 线程的引用的对象的垃圾回收

java - 如何在 Hibernate/JPA 中的映射/子表上删除现有记录并插入新记录

java - Spring 3 : @Autowired dao fields are null in service beans with @Transactional annotation

c#/ASP.NET/SQL Server - 每天运行一次查询

SQL 分组和某个日期范围内未清项目的运行总计