org.hibernate.AnnotationException: No identifier specified for entity: com.ubosque.modelo.Ciudadano

江枫思渺然 提交于 2019-12-23 05:30:36

问题


I get this error:

org.hibernate.AnnotationException:
No identifier specified for entity: com.ubosque.modelo.Ciudadano

my 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 ...

I know this error is because there is no @Id annotation, but if I add @Id to the id variable, when I deploy this error appears:

javax.servlet.ServletException:
javax.persistence.Table.indexes()[Ljavax/persistence/Index;

and this error ONLY disappears when I remove the @Id annotation, so any suggestions will be appreciated.

my project is made with Maven 3 and the dependencies donwloaded through pom are:

  1. mysql-connector-java-5.0.8
  2. hibernate-core-4.3.9.Final

回答1:


The exception that you have (about Table.indexes) when you have an @Id present (which you must have, so really don't see the point in removing it) clearly has a cause exception that you don't post. More than likely it cannot find that annotation method (which is a JPA 2.1 method IIRC) since you have either a JPA implementation supporting JPA 2.0 and have a JPA2.1 jar in the CLASSPATH or vice-versa. Posting the cause exception would clarify which, and should have pointed you in the right direction



来源:https://stackoverflow.com/questions/30225440/org-hibernate-annotationexception-no-identifier-specified-for-entity-com-ubosq

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!