JPA specification document提供了一个重要提示,您应该not这样做,请参阅第449页的第11.1.20节:
脚注[110]:便携式应用程序应在其他持久字段或属性上使用GeneratedValue注释.
这里,"其他"是指未用@Id
注释的实体的字段或属性:
GeneratedValue
注释可应用于具有Id
注释的实体或映射超类in conjunction的主键属性或字段.
因此,我可以得出结论,如果不是全部的话,那么大多数persistence provider个实现可能不支持您预期的(特殊)用例.