Exemple de mappage de composant Hibernate
Le composant Hibernate représente un groupe de valeurs ou de propriétés, et non une entité (table). Consultez le didacticiel suivant pour comprendre le fonctionnement du composant dans Hibernate.
1. Table client
Voir ci-dessous le tableau client.
Table client, script SQL dans la base de données MySQL.
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. Classe de modèle
Maintenant, créez deux classes de modèle,Customer.java
etAddress.java
, pour représenter le tableau «customer» ci-dessus.
Fichier: 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 }
Fichier: 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 }
Dans ce cas,Address.java
est un «component» représente les colonnes «Address1», «Address2» et «Address3» pourCustomer.java
3. Cartographie des composants
Maintenant, vous pouvez déclarer le mappage des composants comme ceci:
Fichier: Customer.hbm.xml
4. Exécuter
Créez un objet Adresse, incluez-le dans l'objet Client et conservez-le.
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"); } }
Production…
Hibernate component mapping Hibernate: insert into exampledb.customer (CUST_NAME, AGE, ADDRESS1, ADDRESS2, ADDRESS3, CREATED_DATE, CREATED_BY) values (?, ?, ?, ?, ?, ?, ?) Done
Téléchargez-le -Hibernate-Component-Mapping-Example.zip (10 Ko)