2011-09-15 8 views

Répondre

1

Il devrait y avoir un fichier de propriétés où vous pouvez mettre votre URL à MySQL

#hibernate.dialect org.hibernate.dialect.MySQLDialect 
#hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect 
#hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect 
#hibernate.connection.driver_class com.mysql.jdbc.Driver 
#hibernate.connection.url jdbc:mysql:///mysqlURL 
#hibernate.connection.username 
#hibernate.connection.password 

Mais soyez au courant de ce

Lorsque vous utilisez le moteur MyISAM, MySQL utilise un verrouillage extrêmement rapide qui permet plusieurs lecteurs ou un seul graveur. Le plus gros problème avec ce moteur de stockage se produit lorsque vous avez un flux constant de mises à jour mixtes et de sélections lentes sur une seule table. S'il s'agit d'un problème pour certaines tables, vous pouvez utiliser un autre moteur de stockage pour ces tables.

+0

Le problème est qu'ils ont fourni seulement ceux que vous avez mentionnés et il n'y a pas quelque chose comme org.hibernate.dialect.MySQLMemoryDialect – Hamzeh

0

Le moteur de stockage utilisé par mySQL est déclaré lorsque vous créez vos tables. Utilisez le qualificateur ENGINE=MEMORY à la fin de votre DDL CREATE TABLE. Ensuite, utilisez-le comme n'importe quelle autre table. Mais, bien sûr, n'oubliez pas que si votre serveur mySQL rebondit pour une raison quelconque, toutes les lignes seront supprimées de cette table MEMORY quand elle reviendra.

+0

Pouvez-vous me dire comment ajouter cela à la fin de CREATE TABLE DDL dans Hibernate? Où devrait-il être fait? – Hamzeh

0

Pourquoi voulez-vous du stockage en mémoire?

Mon scénario de cas d'utilisation personnel pour une telle configuration est le test.

Pensez à utiliser h2, hsql ou derby. AFAIK ils fournissent tous un stockage en mémoire. Et si vous utilisez Hibernate de manière cohérente, la base de données ne devrait pas différer en arrière-plan - du moins pas du point de vue du développement.

Questions connexes