Jus*_*VSI 2 java mysql jpa spring-boot
我有一个带有 id 属性的简单类,我希望将其创建为 bigint。
这里是物业
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@NotNull
public java.math.BigInteger id;
Run Code Online (Sandbox Code Playgroud)
然而,这是产生这个:
id decimal(19,2) not null auto_increment
Run Code Online (Sandbox Code Playgroud)
我当然可以添加
@Column(columnDefinition = "bigint(20)")
Run Code Online (Sandbox Code Playgroud)
然后它起作用了,但我无法理解为什么 JPA 更喜欢匹配十进制而不是 bigint。
生成的映射还会导致无效 id 的错误,因为小数点不是 auto_incrementable。
我正在使用具有 spring-boot-starter-data-jpa 依赖性的 spring boot。配置如下:
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
小智 7
JDBC 类型 BIGINT 表示 -9223372036854775808 和 9223372036854775807 之间的 64 位有符号整数值。对应的 SQL 类型 BIGINT 是 SQL 的非标准扩展。在实践中,SQL BIGINT 类型目前还没有被任何主要数据库实现,我们建议在可移植代码中避免使用它。
推荐的 BIGINT 类型的 Java 映射是 Java long。
| 归档时间: |
|
| 查看次数: |
8157 次 |
| 最近记录: |