专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 职业指南 Jpa面试题的简单分析与练习

Jpa面试题的简单分析与练习

更新时间:2023-01-13 14:00:42 来源:星辉 浏览1096次

1.什么是Java Persistence API?

Java Persistence API(JPA)是Java的规范, 用于在Java对象和关系数据库之间持久化数据。 JPA充当面向对象的域模型和关系数据库系统之间的桥梁。由于JPA只是一个规范, 因此它本身不会执行任何操作。它需要一个实现。因此, 诸如Hibernate, TopLink和iBatis之类的ORM工具实现了JPA规范以实现数据持久性。 Java Persistence API的第一个版本JPA 1.0于2006年发布, 它是EJB 3.0规范的一部分。

2.JPA是否执行诸如访问, 保留和管理数据之类的实际任务?

不, JPA只是一个规范。 Hibernate, iBatis和TopLink等ORM工具实现JPA规范并执行这些类型的任务。

3.什么是对象关系映射?

对象关系映射是一种机制, 用于通过将对象状态映射到数据库列中来开发和维护对象与关系数据库之间的关系。它将编程代码的属性转换为表的列。它能够轻松处理各种数据库操作, 例如插入, 更新, 删除等。

4.JPA的优点是什么?

JPA的优点如下。

  • 通过使用JPA, 与数据库交互的负担大大降低。
  • 隐藏O / R映射和数据库访问处理, 使用户编程变得容易。
  • 通过使用注释可以减少创建定义文件的成本。
  • 我们可以合并使用其他JPA提供程序的应用程序
  • 使用不同的实现可以将功能添加到标准实现中, 以后可以成为JPA规范的一部分。

5.有哪些可嵌入类?

可嵌入类表示实体的状态, 但没有自己的持久标识。这样的类的对象共享拥有它的实体类的标识。实体可以具有单值或多值可嵌入类属性。

6.列出一些ORM框架。

以下是在ORM机制上起作用的各种框架:-

  • 冬眠
  • 顶联
  • ORMLite
  • iBATIS
  • JPOX

7.什么是JPQL?

JPQL是JPA规范中定义的Java Persistence查询语言。它用于构造查询。

8.插入实体有哪些步骤?

我们可以轻松地通过实体将数据插入数据库。 EntityManager提供了persist()方法来添加记录。以下步骤用于将记录插入数据库。

创建一个具有属性Student_name的实体类, 例如Student.java。

package com.srcmini.jpa.student;
import javax.persistence.*;

@Entity
@Table(name="student")
public class Student {

	@Id
	private String s_name;
	
	public StudentEntity(String s_name) {
		super();
		this.s_name = s_name;
	}

	public StudentEntity() {
		super();
	}

	public String getS_name() {
		return s_name;
	}

	public void setS_name(String s_name) {
		this.s_name = s_name;
	}
}

现在, 在Persistence.xml文件中映射实体类和其他数据库配置。

<persistence>
<persistence-unit name="Student_details">
	
	<class>com.srcmini.jpa.student.StudentEntity</class>

<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/studentdata"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value=""/>
<property name="eclipselink.logging.level" value="SEVERE"/>
<property name="eclipselink.ddl-generation" value="create-or-extend-tables"/>
</properties>

	</persistence-unit>
</persistence>

在com.srcmini.jpa.persist包下创建一个名为PersistStudent.java的持久性类, 以将实体对象与数据持久化

package com.srcmini.jpa.persist;

import com.srcmini.jpa.student.*;
import javax.persistence.*;
public class PersistStudent {
	
	public static void main(String args[])
	{
		
		EntityManagerFactory emf=Persistence.createEntityManagerFactory("Student_details");
		EntityManager em=emf.createEntityManager();
		
em.getTransaction().begin();
		
		StudentEntity s1=new StudentEntity();
		s1.setS_name("Gaurav");
		em.persist(s1);
		em.getTransaction().commit();
		emf.close();
		em.close();
	}
}

以上就是“Jpa面试题的简单分析与练习”,你能回答上来吗?如果想要了解更多的Java面试题相关内容,可以关注星辉Java官网。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>