標籤:hibernate
這篇post承接上一篇,用來說明如何使用註解替代映射xml檔案。使用註解會很方便,減少了中繼資料的行數,並且註解是型別安全的。如果註解就是你想從JPA中獲得的唯一東西——即用註解取代XML,那麼只需要進行如下改動:
主要的變動如下:
1.需要另外匯入的包
hibernate/lib/jpa/
hibernate/lib/jpa-metamodel-generator/
裡面的兩個jar檔案,用來支援註解映射
2.刪掉映射xml檔案,即Message.hbm.xml檔案
3.使用註解映射Message類
package test.domainwithannotation;import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.ManyToOne;@Entitypublic class Message {@Id @GeneratedValue@Column(name="MESSAGE_ID")private Long id;@Column(name="MESSAGE_TEXT")private String text;@ManyToOne(cascade=CascadeType.ALL)@JoinColumn(name="NEXT_MESSAGE_ID")private Message nextMessage;public Message(){}public Message(String text){this.text = text;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getText() {return text;}public void setText(String text) {this.text = text;}public Message getNextMessage() {return nextMessage;}public void setNextMessage(Message nextMessage) {this.nextMessage = nextMessage;}}
4.更改hibernate.cfg.xml檔案中
將<mapping resource="test/domain/Message.hbm.xml" />
改為<mapping class="hello.Message" />