I. INTRODUCTIONGiventhewidevarietyofdatapersistenceframeworks,usuallysoftwaredevelopersfacedthedilemmaofwhichframeworktouseinordertoachievetheirobjectivesintermsofsoftwareimplementation,theshortesttime,andthehighestquality.Thestudyin[1]highlightsanddescribesthattheobject-relationalmapping(ORM)solutionisavailableinmanypopularplatforms,thatofferusefultoolsallowingdeveloperstobeconcernedaboutotherpendingissues.Theworkin[2]indicatesthatamongofthemostrelevantaspectswhenchoosingaframeworkarespeedandefficiency,whichmayhavemanyissuesduetothediversityofmetricstomeasuretheperformanceofaframework.However,thereareotheraspectsthatcouldhelptodecide,suchastheresponsespeed,theintegrationwiththedatabase,theuseoftheCPU,andtheuseofRAM.Thestudy[3],concernedaboutdataprocessingtime,reportedthattheHibernateframeworkslightlyincreasestheprocessingtimeswhencomparedtotheMyBatisframework,inanexperimentationqueryautomaticallygeneratedandvariationofcachingalgorithms.Similarly,theworkin[4]comparedHibernateagainstMyBatis,concludingthatHibernateoutperformsMyBatisintermsofavailabledocumentation,quality,robustness,andeasylearningcurve,whichmakesitidealfordevelopingsoftwareprojects.BecausetheHibernateandMyBatisframeworksarewidelyusedbysoftwaredevelopersinJavalanguageprogramming;itisdesirabletocarryoutanevaluationoftheefficiencyofbothframeworksaimingtoestablishwhichcouldbeselectedasaframeworkforasoftwaredevelopmentproject.Althoughpreviousstudiestriedtoestablishwhichisthebestone,thereisalackofadeepstudyintermsoftime,RAM,andCPUusage.Inthiswork,weprovideastudytodeterminewhethertheHibernate5.4andtheMyBatis3.4frameworksisthebestoneforsoftwaredevelopment.II. DEVELOPMENTA.Object-relationalmappingThestudy[5]establishedthatobject-relationalmapping(ORM)isatechniquethatallowsconvertingsystemdatausedinanobject-orientedprogramminglanguage,intodatausedbyarelationaldatabase.Thereby,ORMcreatesavirtualobject-orienteddatabaseoverarelationalone.Thus,allowingtheuseofobject-orientedfeaturessuchasinheritanceandpolymorphism.Thework[6]indicatedthatORMreferstotheautomaticpersistenceofobjectsfromaJavaapplicationtotablesinarelationaldatabaseandthatthemappingbetweentheobjectsandthedatabaseisdescribedinmetadata,whichisusedtoreverseeffects.Despitethisadvantage,aconsiderableaspecttotakeintoaccountabouttheuseofthistechniqueisthecompromiseoftheperformanceofapplications.Anotherstudyfromadeveloperperspective[7],concludedthatORMencompassessolutionsformappingbusinessobjectstorelationaldata,delegatingtothepersistencelayerthedetailsofitspersistence.However,ORMisnotfullyautomatic,andthatautomationisindescribable.B.DatapersistenceDatapersistencecanbeunderstoodasthemaintenanceofthestateoftheobjectaswellasitsclass,notreducingittoanyparticularprogram[8].Inamorespecificsense,datapersistenceistheabilityofacomputertoretaininformationevenaftershuttingdownorclosingtheprogramthatusesthatinformation[8],[9].25Medoza-Palomino et al. Comparative analysis of the efficiency of Data Persistence Frameworks. Case study Hibernate 5.4 and MyBatis 3.4ISSN-E:2542-3401,ISSN-P:1316-4821Universidad,CienciayTecnologÃa,Vol.26,Núm.117,(pp.24-32) C.FrameworkThetermframeworkisusedinmanycontexts[11],suchasapplicationsinmedicine,computervision,games,andamongothers,inwhichitisusedtodescribeasoftwarestructureconsistingofadaptableandinterchangeablecomponentsfordevelopingapplications.Inotherwords,aframeworkcanbethoughtofassomethingincomplete,butconfigurablegenericapplicationbymeansofaddingcomplements.D.HibernateHibernateisaframeworkthatprovidesacompletesolutiontotheproblemofdatapersistenceinJava.Byinteractingbetweentheapplicationandtherelationaldatabase,Hibernateallowsdeveloperstofocusonthebusinessproblem.Hibernatealsoenablesustofollowalotofdesignrulesandspecificpatternswhencreatingpersistenceclassesandbusinesslogic.Moreover,Hibernatefurnisheshighintegrationwithmostnewandexistingapplicationswithouttheneedtomakemajorchangestootherpartsoftheapplication[6].Finally,theframeworkisanopen-sourceDataPersistenceFramework,easilycombinedwithHQLandSQLsoftware[12].E.MyBatisMybatisisanotherpersistenceframeworkthatsupportsSQL,storedprocedures,and,advancedmappings.MyBatisdoesnotrequireJDBCcode,manualparametersetting,andretrievalofresults.MyBatiscanbeconfiguredwithXML,andannotations,andallowsmapsandPOJOs(PlainOldJavaObjects)tobemappedtodatabaserecords[13],[14].F.EfficiencyEfficiencyisdefinedasthecharacteristicthatwouldallowevaluationoftherelationshipbetweenthelevelofperformanceofsoftwareandthenumberofresourcesused.Theaspectstobeevaluatedwouldbethetimebehaviorrelatedtoadequateresponseandprocessingtimes,thatistosay,theperformancewhenexecutingitsfunctionunderspecificconditionsand,ontheotherhand,theresourcebehavior,relatedtothecapacityofthesoftwaretousesuitableamountsandtypesofresources,alsooperatingunderspecificconditions[15].G.Aspect-OrientedProgrammingTheAspectOrientedProgramming(AOP)isamethodologythatprovidesseparationofcrosscuttingconcernsbyintroducinganAspect,anewunitofmodularization.Eachaspectfocusesonaparticularcrosscuttingfunction.Mainclassesarenolongerplaguedwithcrosscuttingconcerns.Theaspectweaverassemblesthefinalsystembycombiningmainclassesandcrosscuttingaspectsthroughaprocesscalledweaving.Therefore,withtheuseofthemethodology,applicationsthatareeasytodesign,implementandmaintainwouldbecreated.III. METHODOLOGYA.AboutthedatausedInthiswork,weusetheEmployeedatatableoftheOracleHRscheme.Itconsistsof10,000recordsfortests.Fourbasicqueries:selection,insertion,update,andelimination,areperformed.26Medoza-Palomino et al. Comparative analysis of the efficiency of Data Persistence Frameworks. Case study Hibernate 5.4 and MyBatis 3.4ISSN-E:2542-3401,ISSN-P:1316-4821Universidad,CienciayTecnologÃa,Vol.26,Núm.117,(pp.24-32) Therest-client:ImplementsaRESTclientandthroughthreads,wesendahundredrequestssimultaneously;fiftyofwhicharedirectedtowardsaRESTserviceofhr-rest-MyBatisandtheotherfiftytowardsaRESTofhr-rest-hibernate,inthiswaywesubjectourapplicationstoastressfulsituationsinceeachRESTservicewillhavetoprocessfiftyrequestssimultaneously.Thehr-rest-mybatis:microserviceimplementedwithMyBatis.ThismicroserviceexposesfourRESTservices.B.EmployeestableDDLCREATETABLE"HR"."EMPLOYEES"("EMPLOYEE_ID"NUMBER(6,0),"FIRST_NAME"VARCHAR2(20BYTE),"