Hibernate使用註解時的問題

在使用註解進行Hibernate開發時、報了一個以下的錯誤java

Exception in thread "main" org.hibernate.AnnotationException: No identifier specified for entity: com.eyang.hibernate.model.Qygd
	at org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:277)
	at org.hibernate.cfg.InheritanceState.getElementsToProcess(InheritanceState.java:224)
	at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:775)
	at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3788)
	at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3742)
	at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
	at QygdTest.main(QygdTest.java:23)

經查證是在Model類中沒有給主鍵添加註解、也就是說在使用Hibernate進行開發時必須指定表的主鍵才能正常運行、sql

在對應屬性的get方法上添加@Id註解便可ide

 

另外還發現了一個現象、即便用xml配置文件和註解進行數據的添加時ui

若表中有10個字段、Model中也有十個屬性與之對應、hibernate

在xml文件中、咱們能夠只寫其中的3個或者幾個字段則生成的sql中只有對應的這幾個字段的值、而沒有配置的則不會在sql中生成、xml

在使用註解時、Model中的十個屬性也會所有在sql中生成、blog

相關文章
相關標籤/搜索