我想检查一下,是否建议使用自然id(20位varchar)作为表的主键。我正在使用spring-data-jpa。是否存在任何性能问题或此方法的任何利弊
表的主键类型取决于它们的用法。使用大多数长数据类型。如果您的用例是为您的表提供一个自然的主键,它具有特殊含义,如社会安全号码,那么请使用它。如果它是自然键或主键,JPA并不关心它。与生成的主键相比,自然主键的一个区别是,JPA不必执行查询来检索主键的下一个值。但这几乎不是性能问题。
JPA只为您创建查询(插入/更新/删除)并将结果映射到Java对象。
也许这个文档可以帮助你以及https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing