可以使用注释创建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中打开。点击下一步。
- 现在, 选择目录类型:内部和Maven原型-1.1版本的快速入门。然后, 单击“下一步”。
- 现在, 指定组ID和工件ID的名称。组ID包含程序包名称(例如com.srcmini), 工件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>
由于某些许可证问题, 公共Maven存储库中不存在Oracle驱动程序。我们可以手动安装。要将Oracle驱动程序安装到本地Maven存储库, 请执行以下步骤:
- 安装Maven
- 运行命令:install-file -Dfile =路径/到/你的/ojdbc14.jar -DgroupId = com.oracle -DartifactId = ojdbc14 -Dversion = 12.1.0 -Dpackaging = jar
3)创建持久性类。
在这里, 我们正在创建与上一主题中创建的相同的持久化类。但是在这里, 我们使用注释。
@Entity注释将该类标记为实体。
@Table批注指定要保留该实体的数据的表名。如果你不使用@Table批注, 则默认情况下, hibernate将使用类名作为表名。
@Id注释标记该实体的标识符。
@Column批注指定此属性或字段的列详细信息。如果未指定@Column批注, 则默认情况下会将属性名称用作列名称。
要创建Persistence类, 请右键单击src / main / java-New-Class-使用package-finish指定类名称。
Employee.java
package com.srcmini.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="com.srcmini.mypackage.Employee"/>
</session-factory>
</hibernate-configuration>
5)创建检索或存储持久对象的类。
StoreData.java
package com.srcmini.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-Run As-Java Application。
评论前必须登录!
注册