JPA

JPA實體關係

JPA實體關係

數據庫表之間的關係通常更有效。因此,實體類之間的關係被視為關係表(JPA概念)。

  • 多對一實體關係
  • 一對多實體關係
  • 一對一實體關係
  • 多多實體關係

@ManyToOne關係

實體間的多對一關係:

實體之間的多對一關係:一個實體鏈接到另一個包含唯一值的(列或列組)。列:列或列的集合這些連接應用於使用表間外鍵的關係數據庫。

讓我們舉一個學生和主題實體之間關係的例子。在從學生到主題的單向中,應用多對一關係。這表明學生的每條記錄擁有一個主題id,該主題id應該是主題表中的主鍵。主題id是一個外鍵。

創建實體

  • 創建一個包' com.world.EclipseLink。在“src”設置下的實體。在指定的包下創建一個名為subject.java的新java類。
  • 將此連接中的另一個實體—部門實體類Department.java置於' com.world.EclipseLink下。實體的包。

persistence . xml

xml文件包含數據庫的結構信息和實體類的注冊數據。xml將在創建JPA項目期間由eclipse IDE構建。配置方麵是用戶規定的。

服務類

此模塊包括使用初始化屬性實現關係組件的服務類。創建一個名為“com.world.EclipseLink”的“src”包。服務包。在給定的包下麵是DAO類ManyToOne.java。

程序積累和運行完成後,將在Eclipse IDE的控製台麵板中收到通知。檢查MySQL工作台的輸出。

@OneToMany關係

在這種關係中,另一個實體中的許多子實體都與實體的每一行相關。重要的是有幾個家長不能記錄孩子的記錄。表A中的每一行都與表B中的0行、1行或多行相連,形成表A與表B之間的一對多關係。

讓我們舉個例子。如果Student和subject是反向單向的,則該連接為多對一關係。在eclipse IDE JPA_Eclipselink_OTM中構建JPA項目。

創建實體

  • 創建一個包' com.world.EclipseLink。在“src”設置下的實體。在指定的包下創建一個名為subject.java的新java類。
  • 將此連接中的另一個實體—部門實體類Department.java置於' com.world.EclipseLink下。實體的包。

persistence . xml

xml文件包含數據庫的結構信息和實體類的注冊數據。xml將在創建JPA項目期間由eclipse IDE構建。配置方麵是用戶規定的。

服務類

此模塊包括使用初始化屬性實現關係組件的服務類。創建一個名為“com.world.EclipseLink”的“src”包。服務包。在給定的包下麵是DAO類OneToMany.java。

程序積累和運行完成後,將在Eclipse IDE的控製台麵板中收到通知。檢查MySQL工作台的輸出。

@OneToOne關係

在一對一的實體關係中,一個項隻能屬於另一個項。它表示一個實體的每一行隻引用另一個實體的一行。

讓我們舉一個學生和主題實體之間關係的例子。在從學生到主體的單向中,應用了一對一關係。表示每個學生的記錄隻屬於一個科目。

在eclipse IDE中創建一個名為JPA_Eclipselink_OTO的項目。

創建實體

  • 創建一個包' com.world.EclipseLink。在“src”設置下的實體。在指定的包下創建一個名為subject.java的新java類。
  • 將此連接中的另一個實體—部門實體類Department.java置於' com.world.EclipseLink下。實體的包。

服務類

此模塊包括使用初始化屬性實現關係組件的服務類。創建一個名為“com.world.EclipseLink”的“src”包。服務包。在給定的包下麵是DAO類OneToOne.java。

程序積累和運行完成後,將在Eclipse IDE的控製台麵板中收到通知。檢查MySQL工作台的輸出。

程序積累和運行完成後,將在Eclipse IDE的控製台麵板中收到通知。檢查MySQL工作台的輸出。

多對多實體關係

多對多實體關係是一個實體中的一行或多行與另一個實體中的多行相連。

讓我們舉一個學生和主題實體之間關係的例子。在從學生到主題的雙向方式中,應用了多對一關係。表示每個學生的記錄隻屬於一個科目。這意味著每個類記錄都應該由Subject id來處理,Subject id應該是Teacher表的主鍵,而Teacher表應該保存在subject_Class數據庫中,反之亦然。在這裏,兩個外鍵字段都包含在subject_Class表中。

在eclipse IDE中創建一個名為JPA_Eclipselink_MTM的項目。

創建實體

  • 創建一個包' com.world.EclipseLink。在“src”設置下的實體。在指定的包下創建一個新的java類classes.java。
  • 將此連接中的另一個實體-主題實體類subject.java置於' com.world.EclipseLink下。實體的包。

persistence . xml

xml文件包含數據庫的結構信息和實體類的注冊數據。xml將在創建JPA項目期間由eclipse IDE構建。配置方麵是用戶規定的。

服務類

此模塊包括使用初始化屬性實現關係組件的服務類。創建一個名為“com.world.EclipseLink”的“src”包。服務包。在給定的包下麵是DAO類ManyToMany.java

程序積累和運行完成後,將在Eclipse IDE的控製台麵板中收到通知。檢查MySQL工作台的輸出。

JPA標準API

該API是用於創建實體查詢的預設API。它是設置JPQL查詢的方法。這些查詢是類型安全的、可移植的,並且很容易通過語法更改來更改。與JPQL一樣,遵循抽象模式和嵌入式對象。API信息與API條件混合,為條件查詢建模持久實體。

API標準的主要好處是可以在編譯之前發現錯誤。基於字符串的JPQL查詢和基於jpa的問題的性能和效率是相同的。

Baidu
map