使用Microsoft SQL Server tinyint的Hibernate布尔值

时间:2014-07-17 14:02:51

标签: sql hibernate

我们在Microsoft SQL Server中将isSystem列作为tinyint。我们在hibernate中将此列映射为boolean

Hibernate 这就是我在Hibernate中使用where where的方式。

/* We added restriction like this */ criteria.add(Restrictions.eq("system", true));

问题:当我从hibernate运行代码时它没有使用数据库索引但是如果我直接在Microsoft SQL Server中触发查询,那么它使用索引。 hibernate如何在SQL Server中TRUEFALSEtinyint一起使用。

查询: SELECT * FROM TABLE_NAME WHERE isSystem = 1

1 个答案:

答案 0 :(得分:0)

在实体中尝试使用

@Column(columnDefinition = "TINYINT")
@Type(type = "org.hibernate.type.NumericBooleanType")
public boolean isSystem;