Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 如何处理没有';不需要@id注释_Java_Jpa_Persistence - Fatal编程技术网

Java 如何处理没有';不需要@id注释

Java 如何处理没有';不需要@id注释,java,jpa,persistence,Java,Jpa,Persistence,我在模式中有一些类,其中一些是没有任何ID的表,因为它们用作引用/值表,如国家、性别、公民身份等。但是当我尝试运行应用程序时,应用服务器glassfish不会部署它,因为它要求在我的实体上有一个@Id属性的字段,而它通常没有这个属性,因为它主要用作值表 除了创建id字段,我还能做什么?JPA不做没有标识的实体;JDO是唯一支持该概念的Java持久性规范 对于JPA,一种方法是添加任意id(如果其中一列是唯一的,则可以,否则添加一个新的(虚拟)列来存储“id”@id用于标记主键。通常它是代理主键(

我在模式中有一些类,其中一些是没有任何ID的表,因为它们用作引用/值表,如国家、性别、公民身份等。但是当我尝试运行应用程序时,应用服务器glassfish不会部署它,因为它要求在我的实体上有一个@Id属性的字段,而它通常没有这个属性,因为它主要用作值表


除了创建id字段,我还能做什么?

JPA不做没有标识的实体;JDO是唯一支持该概念的Java持久性规范


对于JPA,一种方法是添加任意id(如果其中一列是唯一的,则可以,否则添加一个新的(虚拟)列来存储“id”

@id
用于标记主键。通常它是代理主键(即标识行的任意数字),但也可以是自然主键(即,用于从外部引用该表行的任何列)


在您的情况下,这些引用表当然有主键,您需要用
@Id

注释相应的字段。谢谢,我想我会使用虚拟Id。感谢您的帮助:D!