Java 为关系表生成的id。但是保留Id列仍然是一个好主意。另外,这甚至不是问题的重点。既然您使用的是MySQL,为什么不使用自动增量?否则,我认为您应该使用解决方案一,因为所有内容都将保留在数据库端,避免应用层中的特定内容我不在MySql上。我在看甲骨文。我标记

Java 为关系表生成的id。但是保留Id列仍然是一个好主意。另外,这甚至不是问题的重点。既然您使用的是MySQL,为什么不使用自动增量?否则,我认为您应该使用解决方案一,因为所有内容都将保留在数据库端,避免应用层中的特定内容我不在MySql上。我在看甲骨文。我标记,java,sql,oracle,hibernate,Java,Sql,Oracle,Hibernate,为关系表生成的id。但是保留Id列仍然是一个好主意。另外,这甚至不是问题的重点。既然您使用的是MySQL,为什么不使用自动增量?否则,我认为您应该使用解决方案一,因为所有内容都将保留在数据库端,避免应用层中的特定内容我不在MySql上。我在看甲骨文。我标记这两个DBs只是因为它们很受欢迎。我认为解决方案应该是相同的,不管数据库提供程序是什么。只要您关心效率,您应该期望为每个数据库得到不同的答案-可能为每个数据库版本得到不同的答案。 INSERT INTO table_name( table_id


为关系表生成的id。但是保留Id列仍然是一个好主意。另外,这甚至不是问题的重点。既然您使用的是MySQL,为什么不使用
自动增量
?否则,我认为您应该使用解决方案一,因为所有内容都将保留在数据库端,避免应用层中的特定内容我不在MySql上。我在看甲骨文。我标记这两个DBs只是因为它们很受欢迎。我认为解决方案应该是相同的,不管数据库提供程序是什么。只要您关心效率,您应该期望为每个数据库得到不同的答案-可能为每个数据库版本得到不同的答案。
INSERT INTO table_name( table_id, <<other columns>> )
  VALUES( sequence_name.nextval, <<bind variables>> )
INSERT INTO table_name( table_id, <<other columns>> )
  SELECT sequence_name.nextval, <<other values>>
    FROM some_other_table