📜  使用JPA注释教程进行休眠

📅  最后修改于: 2021-01-02 13:34:02             🧑  作者: Mango

在Eclipse中使用注释的Hibernate示例

可以使用注释创建休眠应用程序。有许多注释可用于创建休眠应用程序,例如@ Entity,@ Id,@ Table等。

休眠注释基于JPA 2规范,并支持所有功能。

所有JPA批注都在javax.persistence包中定义。 Hibernate EntityManager实现了JPA规范定义的接口和生命周期。

使用休眠注释的核心优点是您无需创建映射(hbm)文件。在这里,休眠注释用于提供元数据。

使用注释创建休眠应用程序的示例

在这里,我们将使用Eclipse IDE中的注释创建一个基于Maven的休眠应用程序。为了在Eclipse IDE中创建休眠应用程序,我们需要遵循以下步骤:

1)创建Maven项目

  • 要创建maven项目,请在文件菜单-NewMaven项目上单击鼠标左键。

  • 新的Maven项目在您的Eclipse中打开。单击下一步

  • 现在,选择目录类型:内部和Maven原型-1.1版的快速入门。然后,单击下一步

  • 现在,指定组ID和工件ID的名称。组ID包含程序包名称(例如com.javatpoint),工件ID包含项目名称(例如HibernateAnnotation)。然后单击完成

2)在pom.xml文件中添加项目信息和配置。

打开pom.xml文件,然后单击源。现在,在 …. 标记之间添加以下依赖关系。这些依赖关系用于在Maven项目中添加jar文件。


    org.hibernate
    hibernate-core
    5.3.1.Final

    

    com.oracle
    ojdbc14
    10.2.0.4.0

由于某些许可证问题,公共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.javatpoint.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-new-file-指定文件名(例如hibernate.cfg.xml) -Finish

hibernate.cfg.xml




    
          
    update  
        org.hibernate.dialect.Oracle9Dialect  
        jdbc:oracle:thin:@localhost:1521:xe  
        system  
        jtp  
        oracle.jdbc.driver.OracleDriver 
     
        
    

5)创建检索或存储持久对象的类。

StoreData.java

package com.javatpoint.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)运行应用程序

在运行应用程序之前,请确定目录结构是这样的。

要运行休眠应用程序,请在StoreData-Run As-Java Application上单击鼠标右键。