属性映射
如果不想让一些属性映射成数据库字段,可以使用@Transient注释进行标注
FetchType属性指定是否延迟加载,optional指定生成数据库结构时字段能否为null
@Basic注释定义如下:
public @interface Basic {
FetchType fetch() default EAGER;
boolean optional() default true;
}
延迟加载注释:
@Basic(fetch=FetchType.LAZY)
public String getContent() {
return content;
}
@Temporal主要来指明java.util.Date或者java.util.Calendar类型的属性具体与数据库(date,time,timestamp)三个类型的一一映射
如:@Temporal(value=TemporalType.Date)
程序调用了EntityManager.flush()数据才会同步到数据库
通过refresh()方法可以得到最新数据
如:
Person person = em.find(Person.class, 1);
em.refresh(person);
传进去参数person一定要实体Bean,不然会发生illegalArgumentException例外
posted on 2012-02-06 18:02 Alan's Blog 阅读(452) 评论(0) 编辑 收藏 举报