Annotation版本的HelloWorld
在Hibernate3.0以后,開始支持Annotation
Annotation的標準是,建立一個符合JTA標準的Annotation
下載hibernate-annotations-3.4.0.GA工具包后
項目添加:
hibernate-annotations.jar --最核心
lib/ejb3-persistence.jar --符合了JTA標準的Annotation
lib/hibernate-comments-annotations.jar
@Entity表示實體類
@Id 標識主鍵
注意是javax.persistence.*; 下
首先創建DB表:Teacher
id
name
title
編寫Teacher類:
//省略更多的getter/setter方法
注意,@Id寫在getId()方法前,防止屬性id名字與getId方法的名字不匹配。如id 和getTeacherId()方法
配置hibernate.cfg.xml文件:
注意這里的<mapping class="類名全路徑" />
最后測試:
public static void main(String[] args) {
Teacher();
conf = new AnnotationConfiguration();
//注意這里使用的是AnnotationConfiguration
factory = conf.buildSessionFactory();
factory.openSession();
只有new AnnotationConfiguration()不一樣,其余操作都一樣
用Annotation配置javaBean可省略Teacher.hbm.xml的映射文件,操作也方便,你認為呢?
最后:Hibernate-Annotation文檔中的小錯誤:
沒有加入hibernate-commen-annotations.jar包
MyEclipse 輸入 @ 不給提示時:
window、references、搜content assist、在 activation for java 欄加入"@"
也可以控制delay屬性,延遲修改為100則提示很快
解決問題時間:
問題類型:
org.slf4j.impl.StaticLoggerBinder.SINGLETON from class
org.slf4j.LoggerFactory
slf4j-api-2.0.99.jar和slf4j-nop-1.5.6.jar
Exception in thread "main"
org.hibernate.exception.ConstraintViolationExcep
JDBC batch update
Caused by: java.sql.BatchUpdateException: ORA-00001: unique
constraint (HT.TEACHER_PK_ID) violated
重復執行時,注意DB主鍵不能重復