基本注解
//entity表示需要实体化的实体类
@Entity
//实体类所对应的表
@Table(name="t_book")
public class Book {
//主键
@Id
//主键生成策略,auto相当于native
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="book_id")
private int id;
@Column(name="book_name")
private String name;
@Column
private double price;
//不写@Colum就是默认列名字和属性一致
private String author;
private Date pubDate;
/*set/get方法略*/
使用注解后*.hbm.xml不存在了所以在hiberntae.cfg.xml里面mapping改为
<mapping class="cn.siggy.pojo.Book" />
不再是resource
多对一双向注解
//entity表示需要实体化的实体类
@Entity
//实体类所对应的表
@Table(name="t_book")
public class Book {
//主键
@Id
//主键生成策略
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="book_id")
private int id;
@Column(name="book_name")
private String name;
@Column
private double price;
private String author;
private Date pubDate;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="category_id")
private Category catregory;
}
@Entity
@Table
public class Category {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)//oracle比较麻烦,参考网上的例子
private int id;
private String name;
@OneToMany(mappedBy="category")
private Set<Book> books=new HashSet<Book>();