我在模式中有一些类,其中一些是没有任何ID的表,因为它们被用作参考/值表,如国家,性别,公民身份等等,但当我尝试运行时应用程序,应用程序服务器glassfish将不会部署它,因为它要求我的实体上具有@Id属性的字段,它通常不具有,因为它主要用作值表。
除了创建一个id字段外,我还能做什么?
答案 0 :(得分:1)
JPA没有没有身份的实体; JDO是唯一支持该概念的Java持久性规范。
使用JPA,一种方法是添加一个任意id(如果其中一列是唯一的那么就好了,否则添加一个新的(虚拟)列来存储“id”
答案 1 :(得分:0)
@Id
用于标记主键。通常它是代理主键(即标识行的任意数字),但它也可以是自然主键(即用于从外部引用该表行的任何列)。
在您的情况下,这些参考表肯定有主键,您需要使用@Id
注释相应的字段。