Résumé
Un mapping objet-relationnel (en anglais object-relational mapping ou ORM) est un type de programme informatique qui se place en interface entre un programme applicatif et une base de données relationnelle pour simuler une base de données orientée objet. Ce programme définit des correspondances entre les schémas de la base de données et les classes du programme applicatif. On pourrait le désigner par là « comme une couche d'abstraction entre le monde objet et monde relationnel ». Du fait de sa fonction, on retrouve ce type de programme dans un grand nombre de frameworks sous la forme de composant ORM qui a été soit développé, soit intégré depuis une solution externe. L'utilisation de la programmation orientée objet avec une base de données relationnelle nécessite de convertir les données relationnelles en objets et vice-versa. Ceci conduit à programmer cette conversion pour chaque objet et donc à dupliquer énormément de code similaire. Illustration de code Java qui utilise l'API JDBC sans ORM pour récupérer les données relationnelles d'un client (customer en anglais) afin de les transformer en un objet Java : public Customer loadCustomer(long customerId, Connection connection) { if (0 == customerId || connection == null) { return null; } PreparedStatement statement = null; try { // préparation de la requête à la base de données statement = connection.prepareStatement( " SELECT CUSTOMER_ID, CUSTOMER_NAME, CUSTOMER_ADDRESS " " FROM CUSTOMER WHERE CUSTOMER_ID = ? "); statement.setLong(1, customerId); ResultSet resultSet = statement.executeQuery(); if (resultSet.next()) { // transformation des données relationnelles en objet "Customer" Customer customer = new Customer(); int index = 1; customer.setCustomerId(resultSet.getLong(index++)); customer.setCustomerName(resultSet.getString(index++)); customer.setCustomerAddress(resultSet.getString(index++)); return customer; } } catch (final Exception e) { log.info("", e); } finally { // nettoyage if (statement != null) { try { statement.close(); } catch (final SQLException e) { log.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.