更新時間:2023-01-13 14:00:42 來源:動力節點 瀏覽1674次
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面試題相關內容,可以關注動力節點Java官網。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習