org.hibernate.AnnotationException:没有为实体指定标识符:com.ubosque.modelo.Ciudadano
org.hibernate.AnnotationException: No identifier specified for entity: com.ubosque.modelo.Ciudadano
我收到这个错误:
org.hibernate.AnnotationException:
No identifier specified for entity: com.ubosque.modelo.Ciudadano
我的class:
@Entity
@Table(name="ciudadano")
public class Ciudadano implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private int id;
private String nombre;
private String apellido;
@Column(name="fecha_nac")
private Date fechaNac;
@Column(name="lugar_nac")
private String lugarNac;
private String direccion;
private String telefono;
@Column(name="estado_civil")
private String estadoCivil;
private String email;
@Column(name="desc_perfil_prof")
private String descPerfilProf;
// setters & getters ...
我知道这个错误是因为没有@Id
注解,但是如果我在id变量中添加@Id
,部署时出现这个错误:
javax.servlet.ServletException:
javax.persistence.Table.indexes()[Ljavax/persistence/Index;
只有当我删除 @Id
注释时,此错误才会消失,因此我们将不胜感激任何建议。
我的项目是用 Maven 3
创建的,通过 pom
下载的依赖项是:
- mysql-连接器-java-5.0.8
- hibernate-core-4.3.9.Final
当你有 @Id
存在时(你必须有,所以真的没有看到删除它的意义),你有(大约 Table.indexes)的异常显然是有原因的你没有 post 的例外。它很可能找不到该注释方法(这是一个 JPA 2.1 方法 IIRC),因为您有一个支持 JPA 2.0 的 JPA 实现并且在 CLASSPATH 中有一个 JPA2.1 jar,反之亦然。发布原因异常会澄清是哪一个,并且应该为您指明正确的方向
我收到这个错误:
org.hibernate.AnnotationException:
No identifier specified for entity: com.ubosque.modelo.Ciudadano
我的class:
@Entity
@Table(name="ciudadano")
public class Ciudadano implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private int id;
private String nombre;
private String apellido;
@Column(name="fecha_nac")
private Date fechaNac;
@Column(name="lugar_nac")
private String lugarNac;
private String direccion;
private String telefono;
@Column(name="estado_civil")
private String estadoCivil;
private String email;
@Column(name="desc_perfil_prof")
private String descPerfilProf;
// setters & getters ...
我知道这个错误是因为没有@Id
注解,但是如果我在id变量中添加@Id
,部署时出现这个错误:
javax.servlet.ServletException:
javax.persistence.Table.indexes()[Ljavax/persistence/Index;
只有当我删除 @Id
注释时,此错误才会消失,因此我们将不胜感激任何建议。
我的项目是用 Maven 3
创建的,通过 pom
下载的依赖项是:
- mysql-连接器-java-5.0.8
- hibernate-core-4.3.9.Final
当你有 @Id
存在时(你必须有,所以真的没有看到删除它的意义),你有(大约 Table.indexes)的异常显然是有原因的你没有 post 的例外。它很可能找不到该注释方法(这是一个 JPA 2.1 方法 IIRC),因为您有一个支持 JPA 2.0 的 JPA 实现并且在 CLASSPATH 中有一个 JPA2.1 jar,反之亦然。发布原因异常会澄清是哪一个,并且应该为您指明正确的方向