JdbcTemplate vs hibernate
Fermé
starghof
Messages postés
177
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2011
-
4 août 2009 à 10:48
starghof Messages postés 177 Date d'inscription jeudi 18 septembre 2008 Statut Membre Dernière intervention 8 avril 2011 - 4 août 2009 à 12:31
starghof Messages postés 177 Date d'inscription jeudi 18 septembre 2008 Statut Membre Dernière intervention 8 avril 2011 - 4 août 2009 à 12:31
A voir également:
- JdbcTemplate vs hibernate
- Udp vs tcp - Guide
- Intel xeon vs i7 ✓ - Forum Matériel informatique
- Mo vs mb ✓ - Forum Matériel informatique
- Naruto vs pain épisode netflix ✓ - Forum Cinéma / Télé
- Quad core vs i5 - Forum Matériel informatique
7 réponses
starghof
Messages postés
177
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2011
4
4 août 2009 à 11:38
4 août 2009 à 11:38
le traitement consiste à inserer 100 lignes dans une table mysql;
//////////////////////////////////////////////////////////////////////
pour le jdbc template voilà le test :
TransactionTemplate transactionTemplate = new TransactionTemplate(new DataSourceTransactionManager(dataSource));
transactionTemplate.execute(new TransactionCallback() {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
long timeInMillis1 = System.currentTimeMillis();
for(int j=1;j<=100;j++){
jdbcTemplate.execute("insert into v_j_article values("+j+","+"1,1,1,5,'2009-01-01')");
}
long timeInMillis2 = System.currentTimeMillis();
long timeInMillis3=timeInMillis2-timeInMillis1;
System.out.println(timeInMillis3);
pour hibernate :
Session session = HibernateUtil.currentSession();
long timeInMillis1 = System.currentTimeMillis();
for(int j=1;j<=100;j++){
Transaction tx= session.beginTransaction();
TContact v_j_article = new TContact();
v_j_article.setId_famille(1);
v_j_article.setId_sous_famille(2);
v_j_article.setId_article(4);
v_j_article.setNbr_vente(200);
v_j_article.setMontant_t(System.currentTimeMillis());
v_j_article.setDate(date);
session.save(v_j_article);
tx.commit();
}
long timeInMillis2 = System.currentTimeMillis();
long timeInMillis3=timeInMillis2-timeInMillis1;
System.out.println(timeInMillis3);
//////////////////////////////////////////////////////////
je sais pas si la comparaison est equitable !!!
mais lorsque j'ai fait la comparaison des deux valeurs donnés en ms (timeInMillis3) j'ai remarqué une grande difference !!!
par exemple pour l'insertion des 100 lignes par jdbc template a duré 31millisecondes
par contre pour hibernate elle a duré 3263millisecondes !!!
est ce que ça est logique !!
sinon que doit je changer dans le code exactement pour avoir une comparaison logique !!!
//////////////////////////////////////////////////////////////////////
pour le jdbc template voilà le test :
TransactionTemplate transactionTemplate = new TransactionTemplate(new DataSourceTransactionManager(dataSource));
transactionTemplate.execute(new TransactionCallback() {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
long timeInMillis1 = System.currentTimeMillis();
for(int j=1;j<=100;j++){
jdbcTemplate.execute("insert into v_j_article values("+j+","+"1,1,1,5,'2009-01-01')");
}
long timeInMillis2 = System.currentTimeMillis();
long timeInMillis3=timeInMillis2-timeInMillis1;
System.out.println(timeInMillis3);
pour hibernate :
Session session = HibernateUtil.currentSession();
long timeInMillis1 = System.currentTimeMillis();
for(int j=1;j<=100;j++){
Transaction tx= session.beginTransaction();
TContact v_j_article = new TContact();
v_j_article.setId_famille(1);
v_j_article.setId_sous_famille(2);
v_j_article.setId_article(4);
v_j_article.setNbr_vente(200);
v_j_article.setMontant_t(System.currentTimeMillis());
v_j_article.setDate(date);
session.save(v_j_article);
tx.commit();
}
long timeInMillis2 = System.currentTimeMillis();
long timeInMillis3=timeInMillis2-timeInMillis1;
System.out.println(timeInMillis3);
//////////////////////////////////////////////////////////
je sais pas si la comparaison est equitable !!!
mais lorsque j'ai fait la comparaison des deux valeurs donnés en ms (timeInMillis3) j'ai remarqué une grande difference !!!
par exemple pour l'insertion des 100 lignes par jdbc template a duré 31millisecondes
par contre pour hibernate elle a duré 3263millisecondes !!!
est ce que ça est logique !!
sinon que doit je changer dans le code exactement pour avoir une comparaison logique !!!
starghof
Messages postés
177
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2011
4
4 août 2009 à 11:40
4 août 2009 à 11:40
j'ai essayé de voir :
https://arnumeral.fr/projet/mediapart
mais l'exemple qui l'a pris ne contient pas jdbc template !
https://arnumeral.fr/projet/mediapart
mais l'exemple qui l'a pris ne contient pas jdbc template !
Salut,
Le test n'est pas vraiment équitable, Hibernate est bien plus qu'un simple générateur de requêtes...
Le test n'est pas vraiment équitable, Hibernate est bien plus qu'un simple générateur de requêtes...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
starghof
Messages postés
177
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2011
4
4 août 2009 à 11:51
4 août 2009 à 11:51
d'accord !
mais est ce que vous avez une proposition pour le rendre plus equitable !!!
et surtout concernant les transactions !!!!
mais est ce que vous avez une proposition pour le rendre plus equitable !!!
et surtout concernant les transactions !!!!
Il est difficile de faire un test équitable vu q'ils ne doivent pas être utilisés pour les mêmes raisons. Sur le forum de Spring, il présente très bien l'intérêt de chacun.
starghof
Messages postés
177
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2011
4
4 août 2009 à 12:31
4 août 2009 à 12:31
de toute façon merci Anarchunter!
c'est gentil.
je vais voir la possibilité d'ameliorer le test pour avoir des resultats plus precises!
merci.
c'est gentil.
je vais voir la possibilité d'ameliorer le test pour avoir des resultats plus precises!
merci.