@startuml package com.iluwatar.metamapping.model { class User { - id : Integer - password : String - username : String + User() + User(username : String, password : String) + getId() : Integer + getPassword() : String + getUsername() : String + setId(id : Integer) + setPassword(password : String) + setUsername(username : String) + toString() : String } } package com.iluwatar.metamapping.utils { class DatabaseUtil { - CREATE_SCHEMA_SQL : String {static} - DB_URL : String {static} - LOGGER : Logger {static} - DatabaseUtil() } class HibernateUtil { - LOGGER : Logger {static} - sessionFactory : SessionFactory {static} - HibernateUtil() - buildSessionFactory() : SessionFactory {static} + getSessionFactory() : SessionFactory {static} + shutdown() {static} } } package com.iluwatar.metamapping { class App { - LOGGER : Logger {static} + App() + generateSampleUsers() : List {static} + main(args : String[]) {static} } } package com.iluwatar.metamapping.service { class UserService { - LOGGER : Logger {static} - factory : SessionFactory {static} + UserService() + close() + createUser(user : User) : int + deleteUser(id : Integer) + getUser(id : Integer) : User + listUser() : List + updateUser(id : Integer, user : User) } } @enduml