Beispiel für die Zuordnung von Ruhezustandskomponenten
Die Ruhezustandskomponente stellt eine Gruppe von Werten oder Eigenschaften dar, nicht eine Entität (Tabelle). Im folgenden Tutorial erfahren Sie, wie Komponenten im Ruhezustand funktionieren.
1. Kundentabelle
Siehe unten Kundentabelle.
Kundentabelle, SQL-Skript in der MySQL-Datenbank.
CREATE TABLE `customer` ( `CUST_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, `CUST_NAME` varchar(10) NOT NULL, `AGE` int(10) unsigned NOT NULL, `ADDRESS1` varchar(255) NOT NULL, `ADDRESS2` varchar(255) NOT NULL, `ADDRESS3` varchar(255) NOT NULL, `CREATED_DATE` date NOT NULL, `CREATED_BY` varchar(10) NOT NULL, PRIMARY KEY (`CUST_ID`) USING BTREE );
2. Modellklasse
Erstellen Sie nun zwei Modellklassen,Customer.java
undAddress.java
, um die obige Tabelle „customer“ darzustellen.
Datei: Customer.java
package com.example.customer; import java.util.Date; public class Customer implements java.io.Serializable { private Integer custId; private String custName; private int age; private Address address; private Date createdDate; private String createdBy; //setters and getters }
Datei: Address.java
package com.example.customer; public class Address implements java.io.Serializable { private String address1; private String address2; private String address3; //setters and getters }
In diesem Fall istAddress.java
ein "component", das die Spalten "Adresse1", "Adresse2" und "Adresse3" fürCustomer.java
darstellt
3. Komponentenzuordnung
Jetzt können Sie die Komponentenzuordnung wie folgt deklarieren:
Datei: Customer.hbm.xml
4. Starte es
Erstellen Sie ein Adressobjekt, fügen Sie es in das Kundenobjekt ein und behalten Sie es bei.
package com.example; import java.util.Date; import org.hibernate.Session; import com.example.customer.Address; import com.example.customer.Customer; import com.example.util.HibernateUtil; public class App { public static void main(String[] args) { System.out.println("Hibernate component mapping"); Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); Address address = new Address(); address.setAddress1("Address 1"); address.setAddress2("Address 2"); address.setAddress3("Address 3"); Customer cust = new Customer(); cust.setCustName("example"); cust.setAge(30); cust.setAddress(address); cust.setCreatedDate(new Date()); cust.setCreatedBy("system"); session.save(cust); session.getTransaction().commit(); System.out.println("Done"); } }
Ausgabe…
Hibernate component mapping Hibernate: insert into exampledb.customer (CUST_NAME, AGE, ADDRESS1, ADDRESS2, ADDRESS3, CREATED_DATE, CREATED_BY) values (?, ?, ?, ?, ?, ?, ?) Done
Laden Sie es herunter -Hibernate-Component-Mapping-Example.zip (10 KB)