hibernate的简单注解/使用
来源:互联网 发布:中国校花大赛数据库 编辑:程序博客网 时间:2024/05/27 00:40
@Entity 实体,需要插入数据库的对象。
必须有一个无参数的构造方法;实体Bean必须声明为public;实体Bean不能被声明为abstract。
@Table 实体对应的表信息
@id 配置主键,可以是一个属性也可以是多个属性的组合。主键可以应用于属性页可以应用于get方法。应用于属性时,改属性的get方法不会被Hibernate调用,可以去掉。
@GeneratedValue 指定主键访问策略
@GeneratedValue(strategy=javax.persistence.GenerationType.IDENTITY)由数据库确定下个主键值。
javax.persistence.GenerationType.AUTO:自动确定主键类型(默认)
javax.persistence.GenerationType.SEQUENCE:主键是SEQUENCE类型字段(自定义主键排序类型)
@SequenceGenerator 使用Hibernate内置或者自定义的各种主键生成策略来生成主键值
@Basic 设置对象属性转载数据库的策略
fetch:设置装载数据的策略:EAGER-加载时装载所有属性,LAZY-属性被使用时方被装载。(默认为EAGER,使用LAZY需要使用字节增长编译他的Java文件)
optional:当前属性是否可以为null。
@Transient 不需要持久化的属性可以用transient注释标识。
@Column 列定义的注解
@Enumerated 枚举
@Temporal 描述时间格式
@Temporal(TemporalType.DATE)记录年月日,@Temporal(TemporalType.TIMESTAMP)记录准确时间,精确到毫秒,@Temporal(TemporalType.TIME)记录时分秒。
@Lob 大数据类型
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.SequenceGenerator;import javax.persistence.Table;import javax.persistence.Temporal;import javax.persistence.TemporalType;import com.sysmaster.util.EnuSex;@Entity@Table(name="T_PEOPLE")public class People {private int pid;private String name;private EnuSex sex;private Date birthday;private String introduce;@Id//主键@SequenceGenerator(name="seq",sequenceName="SEQ_PEOPLE",initialValue=1,allocationSize=20)@GeneratedValue(generator="seq")//使用自定义sequencepublic int getPid() {return pid;}public void setPid(int pid) {this.pid = pid;}@Column(length=10)//设置该属性的长度为10public String getName() {return name;}public void setName(String name) {this.name = name;}@Enumerated(EnumType.STRING)//设置为Stringpublic EnuSex getSex() {return sex;}public void setSex(EnuSex sex) {this.sex = sex;}@Lob@Basic(fetch=FetchType.LAZY)//大数据延迟加载,需要使用字节增强编译public String getIntroduce() {return introduce;}public void setIntroduce(String introduce) {this.introduce = introduce;}@Temporal(TemporalType.TIMESTAMP)//设置时间存入类型public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}}字节增强编译使用xml 的Ant 编译,代码如下:
<?xml version="1.0" encoding="UTF-8"?><project name="myh" default="instrument" basedir="."> <property name="lib.dir" value="./WEB-INF/lib"/><!--所使用的类库所在位置--> <property name="classes.dir" value="../build/classes"/><!--你的编译class文件所在位置 --> <path id="lib.class.path"> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> </path> <target name="instrument"> <taskdef name="instrument" classname="org.hibernate.tool.instrument.javassist.InstrumentTask"> <classpath path="${classes.dir}"/> <classpath refid="lib.class.path"/> </taskdef> <instrument verbose="true"> <fileset dir="${classes.dir}/com/sysmaster/po"><!--文件所在包--> <include name="People.class"/><!--需要增强处理的文件--> </fileset> </instrument> </target></project>
- hibernate的简单注解/使用
- hibernate注解简单使用
- hibernate 注解的使用
- Hibernate注解的使用
- 使用annotations注解的hibernate的简单示例
- 使用hibernate注解以及几个简单语句
- Hibernate环境部署与注解简单使用
- 注解的简单使用
- 使用JPA 注解的Hibernate
- hibernate 使用注解的 错误
- hibernate使用注解@Temporal的
- Hibernate注解映射的使用
- Java自定义注解 简单Hibernate的注解实现
- hibernate注解简单应用
- Hibernate的简单使用
- Hibernate的简单使用
- springMVC注解的简单使用
- java注解的简单使用
- 生成模型与判别模型
- 手把手教你如何用读写plist文件
- 我的第1篇博客
- 高性能 Socket 组件 HP-Socket v3.2.1 正式发布
- [Java 11] System 类 与 Runtime 类
- hibernate的简单注解/使用
- C语言中float,double等类型,在内存中的结构
- Minimum Depth of Binary Tree
- 由于类型形参“T”既没有类类型约束也没有“class”约束,
- 安装java之后,找不到tools.jar 和dt.jar
- 深入理解Java中为什么内部类可以访问外部类的成员
- mount 命令
- JBoss 7/WildFly Domain 模式如何配置 Server 启动的 JVM 参数
- Tomcat重新加载jar