采用Spring框架、JPA操作数据库开发一个小网站过程中,遇到需要将数据库从Oracle移植到MySQL,在进行单元测试时遇到如下错误:
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'SEQ_GEN_IDENTITY' in field list
Error Code: 1109
Call: SELECT SEQ_GEN_IDENTITY.NEXTVAL FROM DUAL
Query: ValueReadQuery()
一开始以为是Entity的主键生成策略有问题:@GeneratedValue(strategy=GenerationType.IDENTITY)
经过测试,发现问题出在
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
value="oracle.toplink.essentials.platform.database.oracle.OraclePlatform" />
将 databasePlatform属性注释掉就OK了