gpt4 book ai didi

java - 是否可以为 Hibernate 添加从 NUMBER 数据库类型到 Java Integer 的自定义映射器?

转载 作者:行者123 更新时间:2023-12-01 17:40:13 25 4
gpt4 key购买 nike

从 Snowflake NUMBER 类型映射到 Java Integer 时存在问题,因为 Snowflake 将其转换为 NUMBER(38, 0),因此无法设置类似 INTEGER 的数据库类型。

您可以在这里阅读:https://docs.snowflake.com/en/sql-reference/data-types-numeric.html#int-integer-bigint-smallint-tinyint-byteint

所以我想问是否有可能让JPA返回Integer输入而不是 BigInteger

这是表 ddl:

CREATE TABLE person
(
name TEXT,
age INTEGER -- will be converted to NUMBER(38, 0) automatically
);

这是 JPA 存储库方法:

@Query(value = "SELECT age FROM person WHERE name = :name", nativeQuery = true)
Set<Integer> findAgesByName(@Param("name") String name);

结果findAgesByName返回Set<BigInteger>而不是Set<Integer>我收到 ClassCastException .

提前致谢!

最佳答案

这是正确的,它被转换为数字(38,0)以帮助提高性能和存储。

此处列出的表格方法有帮助吗?

将 getInt() 添加到您的查询中?

关于java - 是否可以为 Hibernate 添加从 NUMBER 数据库类型到 Java Integer 的自定义映射器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60966546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com