Hibernate教程-在Eclipse中使用注解的Hibernate示例
Hibernate应用程序可以使用注解来创建。有许多注解可用于创建Hibernate应用程序,例如@Entity、@Id、@Table等。
Hibernate注解基于JPA 2规范,并支持所有功能。
所有JPA注解都定义在 javax.persistence 包中。Hibernate EntityManager 实现了JPA规范定义的接口和生命周期。
使用Hibernate注解的核心优势在于您无需创建映射(hbm)文件。在这里,Hibernate注解用于提供元数据。
使用注解创建Hibernate应用程序的示例
在这里,我们将使用Eclipse IDE创建一个基于Maven的Hibernate应用程序,使用注解。要在Eclipse IDE中创建Hibernate应用程序,我们需要按照以下步骤进行操作:
1) 创建Maven项目
- 要创建Maven项目,请左键单击 文件菜单 - 新建 - Maven项目。
- 新的Maven项目将在您的Eclipse中打开。点击下一步。
- 现在,选择目录类型:internal和maven原型 - 1.1版本的quickstart。然后,点击下一步。
- 现在,指定Group Id和Artifact Id的名称。Group Id包含包名称(例如com.javatiku),Artifact Id包含项目名称(例如HibernateAnnotation)。然后点击完成。
2) 在pom.xml文件中添加项目信息和配置。
打开pom.xml文件并单击源。现在,在 <dependencies>....</dependencies>
标签之间添加以下依赖项。这些依赖项用于向Maven项目中添加jar文件。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.1.Final</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.4.0</version>
</dependency>
由于某些许可问题,Oracle驱动程序不存在于公共Maven存储库中。我们可以手动安装它。要将Oracle驱动程序安装到本地Maven存储库,请按照以下步骤操作:
- 安装Maven
- 运行命令:
install-file -Dfile=Path/to/your/ojdbc14.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=12.1.0 -Dpackaging=jar
3) 创建持久化类。
在这里,我们创建与前一个主题中创建的相同的持久化类。但是在这里,我们使用注解。
@Entity 注解将此类标记为实体。
@Table 注解指定了要将该实体的数据持久化到的表名。如果不使用 @Table 注解,Hibernate将默认使用类名作为表名。
@Id 注解标记了此实体的标识符。
@Column 注解为此属性或字段指定了列的详细信息。如果未指定 @Column 注解,Hibernate将默认使用属性名作为列名。
要创建持久化类,请右键单击 src/main/java - 新建 - 类 - 指定包名及类名 - 完成。
Employee.java
package cn.javatiku.mypackage;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name= "emp500")
public class Employee {
@Id
private int id;
private String firstName, lastName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
4) 创建配置文件
要创建配置文件,请右键单击 src/main/java - 新建 - 文件 - 指定文件名(例如hibernate.cfg.xml) - 完成。
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 5.3//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-5.3.dtd">
<hibernate-configuration>
<session-factory>
<property name="hbm2ddl.auto">update</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
<property name="connection.username">system</property>
<property name="connection.password">jtp</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<mapping class="cn.javatiku.mypackage.Employee"/>
</session-factory>
</hibernate-configuration>
5) 创建检索或存储持久对象的类。
StoreData.java
package cn.javatiku.mypackage;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
public class StoreData {
public static void main(String[] args) {
StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
Metadata meta = new MetadataSources(ssr).getMetadataBuilder().build();
SessionFactory factory = meta.getSessionFactoryBuilder().build();
Session session = factory.openSession();
Transaction t = session.beginTransaction();
Employee e1 = new Employee();
e1.setId(101);
e1.setFirstName("Gaurav");
e1.setLastName("Chawla");
session.save(e1);
t.commit();
System.out.println("successfully saved");
factory.close();
session.close();
}
}
6) 运行应用程序
在运行应用程序之前,请确保目录结构如下。
要运行Hibernate应用程序,请右键单击 StoreData - 运行为 - Java应用程序。