使用Hibernate Annotations

来源:互联网 发布:女生好听的英文名知乎 编辑:程序博客网 时间:2024/05/21 00:16

这篇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" />

0 0