线程"main"中的异常 org.hibernate.AnnotationException: 没有为实体指定标识符:员工 at org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:266( at org.hibernate.cfg.InheritanceState.getElementsToProcess(InheritanceState.java:211( at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:731( at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:249( at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:222( at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:265( at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83( at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:417( at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:86( at StoreData.main(StoreData.java:14(
如果您提供您的员工类,那就太好了。 此问题意味着您的实体类缺少一个字段,该字段用@Id
注释。每个@Entity
都需要并@Id
,这是数据库中的主键。
@Entity
@Table(名称 = "员工", 架构="测试"( 公共类员工 {
@Column(name="FIRST_NAME")
private String `firstName`;
@Column(name="LAST_NAME")
private String `lastName`;
public String `getFirstName()` {
return `firstName`;
}
public voidsetFirstName(String firstName)
{
this.firstName
=firstName
;
}
public StringgetLastName
(( {
returnlastName
;
}
public voidsetLastName
(StringlastName
( {this.lastName
=lastName
;
}
}