英文:
Handling different column types in different databases
问题
我有一个现有的数据库,其中包含一个具有整数类型主键列的表,我计划创建一个新的数据库,该数据库将在这个表中保存更多使用大整数类型的主键列的数据。
我的Java应用程序是否可以访问任一数据库,并读取该表,而不管列是整数还是大整数类型?
这些是唯一的数据库,其中包含完全不同的数据,但具有相同的模式。
我目前还在使用PostgreSQL和Oracle,并希望确保我所做的任何操作都适用于这两种数据库。
英文:
I have an existing database which contains a table with primary key column of type int and I’m planning to create a new database which will hold more data in this table with primary key column of type bigint.
Is it possible for my Java application to access either database and read the table regardless of if the column is int or bigint?
These are unique databases with totally separate data in them but the same schema.
I also currently work with PostgreSQL and Oracle and would want to ensure anything I do works with them both.
答案1
得分: 2
你只需在你的Java类中将该字段类型简单地设置为 Long
。
自动地,根据int或 bigint
,它将与该 Long
字段进行映射。由于Long类型占用8字节大小,它能够存储从 -9,223,372,036,854,775,808
到 9,223,372,036,854,775,807
的所有整数。
关于原始数据类型的大小,你可以参考这里
。
所以不需要担心。
英文:
You can simply provide that field type as Long
in your java class.
Automatically according to int or bigint
, it will map with that Long
field. As Long have 8 bytes size, it will able to stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
For size of primitives you can refer this
.
So no need to worry.
答案2
得分: 1
- 如果 Oracle 的数字大小小于 10,则使用 Java 的 int 数据类型。
- 如果 Oracle 的数字大小小于 20,则使用 Java 的 long 数据类型。
- 否则使用 Java 的 BigInteger 数据类型。
英文:
-
If oracle number size is less than 10 use java int datatype.
-
If oracle number size is less than 20 use java long datatype.
-
Otherwise use java BigInteger datatype.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论