Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Hibernate认为@GeneratedValue是根本错误的?_Java_Hibernate - Fatal编程技术网

Java 为什么Hibernate认为@GeneratedValue是根本错误的?

Java 为什么Hibernate认为@GeneratedValue是根本错误的?,java,hibernate,Java,Hibernate,我正在阅读Hibernate文档,在这一页上看到了警告 “警告 Hibernate团队一直认为这种构造是根本错误的。在使用此功能之前,请尝试修复您的数据模型。”关于部分标识符生成 有人能更详细地向我解释一下这到底是怎么回事吗?为什么Hibernate看不起生成的值?在Hibernate中是否包含自动递增的值 谢谢,警告不是关于在只有一个id字段的类上使用@GeneratedValue。 警告是关于在复合键的一列中使用@GeneratedValue,这是一个非常奇怪的用例(12年来从未见过需要这

我正在阅读Hibernate文档,在这一页上看到了警告

“警告 Hibernate团队一直认为这种构造是根本错误的。在使用此功能之前,请尝试修复您的数据模型。”关于部分标识符生成

有人能更详细地向我解释一下这到底是怎么回事吗?为什么Hibernate看不起生成的值?在Hibernate中是否包含自动递增的值


谢谢,

警告不是关于在只有一个id字段的类上使用@GeneratedValue。 警告是关于在复合键的一列中使用@GeneratedValue,这是一个非常奇怪的用例(12年来从未见过需要这样的东西)

所以警告是:如果您需要在复合键中使用@GeneratedValue,那么请检查您的模型,因为它很可能有问题


如果您认为这不能回答您的问题,您能提供一个可能需要此功能的示例吗?

有一个代理项标识符,它应该始终是一个在数据库级别声明为主键的单个属性(因此列)。还有一个业务标识符(aka business key),它具有业务含义,可能由多个属性(以及相应的列)组成

生成单个代理项标识符没有什么错。Hibernate团队最可能的意思是,业务标识符的某些部分(在多个属性的情况下)的生成是错误的