根据Hibernate文档,Hibernate似乎允许这样做,但是它不符合JPA。
5.1.2.1.2。没有标识符类型的多个id属性
另一种可能更自然的方法是将@Id放在实体的多个属性上。Hibernate仅支持此方法(不符合JPA),而不需要额外的可嵌入组件。
http://docs.jboss.org/hibernate/core/3.6/reference/zh- CN/html_single/#d0e4819
对于符合JPA的解决方案,您必须为此设置指定其他@IDClass(或使用EmbeddedId):