[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2806?page=c...
]
Steve Ebersole commented on HHH-2806:
-------------------------------------
Dialect.getTableTypeString() was a hack added for MySQL because it was the easy thing.
But its not the right thing. If we want to allow for table creation options, then lets
provided a proper mechanism for allowing users to define table creation options.
There is a JIRA for this...
Enhanced TableGenerator is not cluster-safe on MySQL (does not use
correct table type)
--------------------------------------------------------------------------------------
Key: HHH-2806
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2806
Project: Hibernate3
Issue Type: Bug
Components: core
Affects Versions: 3.2.5
Environment: Mac OS X 10.4.10 (Intel), Java 1.5.0_07, MySQL 5.0.24a
Reporter: Matt Solnit
The org.hibernate.id.enanced.TableGenerator.sqlCreateStrings() method does not include a
call to Dialect.getTableTypeString(). This means that on MySQL, it will +always+ use
MyISAM, even if the Hibernate dialect is "MySQL5InnoDBDialect".
The result is that the FOR UPDATE lock has no effect, and the generator is not
cluster-safe. In other words, multiple Hibernate applications can receive the same ID and
get a primary key violation.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira