更新时间:2023-01-13 14:00:42 来源:极悦 浏览1277次
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的优点如下。
5.有哪些可嵌入类?
可嵌入类表示实体的状态, 但没有自己的持久标识。这样的类的对象共享拥有它的实体类的标识。实体可以具有单值或多值可嵌入类属性。
6.列出一些ORM框架。
以下是在ORM机制上起作用的各种框架:-
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官网。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习