Spring boot orm.xml中的命名本机查询映射

Spring boot orm.xml中的命名本机查询映射,spring-boot,hibernate,hibernate-mapping,Spring Boot,Hibernate,Hibernate Mapping,我刚开始冬眠。我正在尝试将基本SQL查询外部化为orm.xml 我的问题 SELECT CURRENT_TIMESTAMP FROM DUAL 我尝试过以下方法: <named-native-query name="JobTrackerEntity.getCurrentTimestamp" result-class="java.sql.Timestamp"> <query> SELECT

我刚开始冬眠。我正在尝试将基本SQL查询外部化为orm.xml

我的问题

SELECT CURRENT_TIMESTAMP  FROM DUAL
我尝试过以下方法:

<named-native-query 
    name="JobTrackerEntity.getCurrentTimestamp"
    result-class="java.sql.Timestamp">
    <query>
        SELECT CURRENT_TIMESTAMP  FROM DUAL
    </query>
</named-native-query>
请告诉我如何用orm.xml编写查询。此外,如果我可以参考任何资源以获得更好的理解


更新:

我在repository界面中添加了一个方法,如下所示:

@Repository
public interface TrackerRepository extends JpaRepository<TrackerEntity, TrackerId> {

    @Query(nativeQuery=true)
    Timestamp getCurrentTimestamp();
}
@存储库
公共接口TrackerRepository扩展了JpaRepository{
@查询(nativeQuery=true)
Timestamp getCurrentTimestamp();
}

我正在调用
getCurrentTimestamp()
来执行查询。

您必须删除
result class=“java.sql.Timestamp”
,因为result类属性必须是一个实体

编辑:

CURRENT_TIMESTAMP
导致Hibernate方言中缺少映射。您必须提供自己的方言,或者如果您不需要您最好使用的时区:

SELECT LOCALTIMESTAMP FROM DUAL

如何执行查询?请展示一些代码
org.springframework.orm.jpa.JpaSystemException:JDBC类型没有方言映射:2014;嵌套异常是org.hibernate.MappingException:JDBC类型没有方言映射:2014
:这是我在mem H2数据库中删除
result class=“java.sql.Timestamp
时得到的异常。问题是类型2014(TimestampWithTimezone)没有在Hibernate的H2方言中注册。我会看看我找到了什么我更新了我的答案。你真的需要时区吗?
SELECT LOCALTIMESTAMP FROM DUAL