
| import javax.persistence.Entity; import javax.persistence.NamedQuery; import javax.persistence.Id; import javax.persistence.Column; import javax.persistence.OneToMany; @Entity @NamedQuery(name="findByTitle", queryString = "SELECT DISTINCT OBJECT(obj) FROM BookCatalog obj WHERE obj.title = ?1") public class BookCatalogBean { public BookCatalogBean(){} public BookCatalogBean(String title) { this.title=title; } private String title; private String author; private String publisher; @Id @Column(name="title", primaryKey="true") public String getTitle(){return title;} public void setTitle(){this.title=title;} public void setAuthor(String author){this.author=author;} public String getAuthor(){return author;} public void setPublisher(String publisher) { this.publisher=publisher; } public String getPublisher(){return publisher;} private java.util.Collection<Edition>editions; @OneToMany public void setEditions(java.util.Collection editions) { this.editions=editions; } public java.util.Collection getEditions(){return editions;} } |
| 注释 | 说明 | 注释元素 |
| @Entity | 注明一个实体bean类。 | |
| @Table | 注明实体bean表。如果未指定@Table,表名与EJB名相同。 | name, schema |
| @Id | 注明一个主要关键属性或字段。 | |
| @Transient | 注明一个非持久性属性或字段。 | |
| @Column | 为一个持久性实体bean属性注明一个映射栏。 | Name、primaryKey、nullable、length。默认栏名为属性或字段名。 |
| @NamedQueries | 注明一组命名查询。 | |
| @NamedQuery | 注明一个命名查询或与查找方法相关的查询。 | name, queryString |
| @OneToMany | 注明一个一对多联系。 | Cascade |
| @OneToOne | 注明一个一对一联系。 | Cascade |
| @ManyToMany | 注明一个多对多联系。 | Cascade |
| @ManyToOne | 注明一个多对一联系。 | Cascade |