JPA注解数据类型
2013-04-15 20:20
411 查看
import java.util.Date; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; @Entity @Table(name="person_jpa") public class PersonJPA { private Integer id; //主键,自增 private String name; private Date birthday; //日期类型 private Gender gender = Gender.MAN; //枚举 private byte[] image; //存放很大的字节流 private String info; //存放很大的文件 private String imgpath; //不想映射到数据库中的表字段 public PersonJPA(){} public PersonJPA(String name){ this.name=name; } //id为主键,策略为auto,它为默认值,也可以省略下面括号里面的内容 @Id @GeneratedValue(strategy=GenerationType.AUTO) public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(length=20,name="person_name",nullable=false) public String getName() { return name; } public void setName(String name) { this.name = name; } /** * 使用@Temporal注解,可以设置日期类型 * @return */ @Temporal(TemporalType.DATE) @Column(length=12) public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } /** * @Enumerated表示枚举注解 * @return */ @Enumerated(EnumType.STRING) @Column(nullable=false,length=8) public Gender getGender() { return gender; } public void setGender(Gender gender) { this.gender = gender; } /** * 使用@Basic注解,表示当获取person对象时,并不会加载该属性的值。只有当需要获取它的值时且 * EntityManager是打开的,那么只需要调用它的get方法就可以了。有点类似懒加载原理。 * @return */ @Lob @Basic(fetch=FetchType.LAZY) public byte[] getImage() { return image; } public void setImage(byte[] image) { this.image = image; } /** * 使用@Lob注解,表示设置大字符串,例如一片文章等 * @return */ @Lob public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } /** * 使用@Transient注解,表示该字段并不会映射到数据库的表字段 * @return */ @Transient public String getImgpath() { return imgpath; } public void setImgpath(String imgpath) { this.imgpath = imgpath; } } public enum Gender { MAN,WOMAN }
相关文章推荐
- hibernate jpa 注解 @Temporal(TemporalType.DATE) 格式化时间日期,页面直接得到格式化类型的值
- springMVC学习笔记七(基于注解方式的控制器的数据验证,类型转换和格式化)
- 编码实现Spring 利用@Resource注解实现bean的注入,xml实现基本数据类型的注入
- JavaEE – JPA(7):ORM的核心注解 – 关系类型
- springMVC学习笔记七(基于注解方式的控制器的数据验证,类型转换和格式化)
- Hibernate数据类型及JPA的Entity类与Hibernate的Entity类的区别
- Spring集成Hibernate,使用JPA注解方式,新增数据无法提交
- 利用JPA注解插入数据进数据库时报detached entity passed to persist的解决办法
- Hibernate一对多 特殊的数据类型的注解
- hibernate jpa 注解 @Temporal(TemporalType.DATE) 格式化时间日期,页面直接得到格式化类型的值
- [JavaEE - JPA] 7. ORM的核心注解 - 关系类型
- 注解形式控制器 数据验证,类型转换(2)
- JPA注解(这里包含sequence类型的)
- JPA使用注解 设定字段类型为TEXT类型
- hibernate jpa 注解 @Temporal(TemporalType.DATE) 格式化时间日期,页面直接得到格式化类型的值
- 注解形式控制器 数据验证,类型转换(3)
- spring mvc 注解访问控制器以及接收form数据的方式,包括直接接收日期类型及对象的方法
- 使用注解格式化date类型的数据
- [JavaEE - JPA] 6. ORM的核心注解 - 基础类型以及嵌套类型
- [JavaEE - JPA] 6. ORM的核心注解 - 基础类型以及嵌套类型