Java Hibernate类型映射short vs byte/JPL接口vs native查询
我试图用java和hibernate从MSSql表中选择动态生成的列数 问题: Hibernate根据我对MSSql TinyInt值使用的查询方法返回不同的返回类型 信息: 冬眠外翻:5.4.12.1决赛 HibernateDialect:Java Hibernate类型映射short vs byte/JPL接口vs native查询,java,sql-server,hibernate,Java,Sql Server,Hibernate,我试图用java和hibernate从MSSql表中选择动态生成的列数 问题: Hibernate根据我对MSSql TinyInt值使用的查询方法返回不同的返回类型 信息: 冬眠外翻:5.4.12.1决赛 HibernateDialect:方言:org.hibernate.dialect.SQLServerDialect 简化实体: CREATE TABLE SampleEntity ( [ID] [int], -- PK etc..., [SomeTinyInt] [
方言:org.hibernate.dialect.SQLServerDialect
简化实体:
CREATE TABLE SampleEntity
(
[ID] [int], -- PK etc...,
[SomeTinyInt] [tinyint]
)
Hibernate生成的实体类:
@Entity
public class SampleEntity implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private int id;
@Column(name = "SomeTinyInt")
private Short someTinyInt;
//set get...
}
现在通过JPQL
选择实体就可以了
从样本实体中选择e
通过动态生成的查询字符串选择实体,并作为本机查询执行
e、 g
从SampleEntity中选择一些细节
返回包含预期列的数组,但sometInit
返回为byte
,而不是short
问题:
有没有办法统一返回类型?我想本机查询的返回类型取决于您使用的hibernate方言。你用什么hibernate方言?你使用什么hibernate版本?嗨,我在问题中添加了方言和hibernate版本。谢谢你指出丢失的信息啊,不,我明白了。因此,方言解释了为什么h2内存数据库的行为不同。这就留下了一个问题,为什么对于具有不同查询类型的mssql方言,它的行为会有所不同