可以使用注释创建Hibernate应用程序。有许多注释可用于创建Hibernate应用程序, 例如@ Entity, @ Id, @ Table等。
Hibernate注释基于JPA 2规范, 并支持所有功能。
【在Eclipse中使用注解的Hibernate示例】所有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
在这里, 我们正在创建与上一主题中创建的相同的持久化类。但是在这里, 我们使用注释。
@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。
推荐阅读
- Hibernate教程
- 使用注解按层次结构Hibernate表
- 使用xml文件的每个层次结构的Hibernate表
- 使用XML文件通过Log4j进行Hibernate日志记录
- 使用属性文件通过Log4j进行Hibernate日志记录
- Hibernate继承映射教程
- Hibernate架构
- Hibernate中的生成器类
- 在Eclipse中使用XML的Hibernate示例