2010-12-05 3 views
0

Mon école a pensé qu'il serait bien d'ajouter une autre exigence à notre examen de 80% dans le processus. Nous devons maintenant nous soucier de la base de données, non pas que je ne fais pas normalement, mais ils voulaient que nous utilisions JPA et nous avons laissé nous concentrer sur les diagrammes et le code à la place. Maintenant, ils ont réfléchi et nous devons analyser la base de données et les relations et nous, comme notre groupe n'utilise pas Windows, n'a pas utilisé MSSQL comme le font nos professeurs, mais MySQL.InnoDB JPA, continuez de forcer MyISAM

Alors, malheureusement, nous nous sommes rendu compte que toute notre base de données est stockée en tant que MyISAM, et il ne semble pas que JPA veuille faire autrement?

J'ai essayé d'ajouter à my.cnf (serveur Debian):

default-storage-engine=innodb 
default-table-type=innodb 

Mais ne résoudrait rien.
Est-il possible d'obtenir InnoDB de JPA, de sorte que nous avons base pour la semaine prochaine et la semaine dernière?

Répondre

3

J'ai trouvé la solution: D Merci pour vos efforts

http://blog.eflow.org/archives/145

jdbc:mysql://localhost:3306/databasename?autoReconnect=true&sessionVariables=storage_engine=InnoDB 

La partie: sessionVariables = storage_engine = InnoDB

1

Pour convertir MyISAM à InnoDB est aussi simple que

ALTER TABLE YOUR_TABLE ENGINE=InnoDB; 

Il y a certaines restrictions sur InnoDB,
tels que

  • longueur maximale d'un index permet
  • support texte intégral (InnoDB ne support)

Voici quelques exemples:

+0

Merci. Mais cela ne me donne pas mes contraintes –

+0

@Emil - comment est établie votre connexion à la base de données? Peut-être utile de réviser cela – ajreal

+0

Est-ce que c'est ce que vous demandez? http://pastie.org/1349580 –

Questions connexes