基于JPA注解的对象关系映射
映射命名查询
基于JPA注解的对象关系映射
JPA的注解定义放置在javax.persistence包中
@Entity(定义一个类为持久化实体类)
@Table(为持久化实体类指名所对应的表名)
@Id(定义对象标识符~主键)
@Temporal(映射日期相关的类型)
@Basic(普通的属性,当实体类中没有任何注解时,默认为basic)
@Column(为属性指明所对应列的相关信息)
@Version--JPA注解中乐观锁
JPA注解中关联映射的应用:
一对多(@OneToMany)
一对一(@OneToOne)
多对多(@ManyToMany)
映射命名查询
@NamedQueries
@Named@Query
AccountTest.java
public voidcreateQueryName(){
Sessionsession=HibernateUtils.getSession();
Transactiontx=session.beginTransaction();
Queryquery=session.getNamedQuery("Account.findById");
query.setInteger("id",1);
List<Account>list=query.list();
for(Accounta:list){
System.out.println(a);
}
tx.commit();
session.close();
}
}
Account.java
@NamedQueries( //命名查询
{@NamedQuery(name="Account.findById",query="fromAccount where id=:id")}
)