您的位置:首页 > 其它

hibernate Annotation简单学习

2015-07-28 16:54 417 查看
使用JPA Annotation 标注实体

java 通过Annotation可以将一些额外的信息写在java源程序中,这些信息可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,程序开发人员可以在原有逻辑不变的情况下,在源文件中嵌入一些补充信息。

使用Annotation可以避免一个实体需要同时维护两份文件(java类和XML映射文件),实体类的JAVA代码已经映射信息都可以写在一份文件中。

Annoation小实验。第一步加入相应的JAR文件



第二步新建数据库以及表格

第三步写类文件

package model;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity // 表示这个是一个实体类  
public class Teacher {

private int id;
private String name;
private String title;

@Id //ID
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
然后就不需要写teacher.hbm.xml文件了,不过需要在hibernate.cfg.xml文件加一句话

<mapping class="model.Teacher"/>

最后实现方法 和之前student类一样,唯一需要主要的是 配置文件的加载需要另外一个方法

Configuration cfg = new AnnotationConfiguration().configure();//注意要使用AnnotationConfiguration 才能拿到类中的配置.

最后运行,可以在数据库看到插入的相对的数据。

初学,疑问,在XML配置文件中可以设置字段类型和长度,不知道Annotation,怎么写,还得补习补习前面知识。

2015.7.28

hibernate 配置文件属性

<property name="show_sql">true</property> 在控制台生成hibernate 生成的SQL

<property name="format_sql">true</property> 是否将SQL语句转换成良好的SQL

设置创建SessionFactory时,是否根据映射文件自动建立数据库表。

<property name="hbm2ddl.auto">update</property>

只是根据映射文件去和数据库中的表对应起来,如果不一致,就更新表的结构

<property name="hbm2ddl.auto">create</property>

在hibernate初始化时会创建表格,在运行结束之后不删除表格,而是在下一次运行的时候如果有旧的删掉,没有旧的,重新建表格

<property name="hbm2ddl.auto">create-drop</property>

create-drop:表示在hebarinate初始化时创建表格,程序运行结束的时候会删除相应的表格,在实际项目中不用

<property name="hbm2ddl.auto">validate</property>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: