属性映射

如果不想让一些属性映射成数据库字段,可以使用@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例外




你可能感兴趣的:(属性)