Java Hibernate类型映射short vs byte/JPL接口vs native查询

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] [

我试图用java和hibernate从MSSql表中选择动态生成的列数

问题:

Hibernate根据我对MSSql TinyInt值使用的查询方法返回不同的返回类型

信息

冬眠外翻:5.4.12.1决赛

HibernateDialect:
方言: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方言,它的行为会有所不同