Mysql 使用JDO自动创建数据库表

Mysql 使用JDO自动创建数据库表,mysql,jdo,datanucleus,Mysql,Jdo,Datanucleus,我不熟悉JDO和MySQL。在我的项目中,我希望所有实体都应该在表中自动转换 我开始使用JDO并定义了这样的属性 javax.jdo.PersistenceManagerFactoryClass=org.datanucleus.api.jdo.JDOPersistenceManagerFactory datanucleus.autoCreateSchema=true datanucleus.validateTables=false datanucleus.validateConstraint

我不熟悉JDO和MySQL。在我的项目中,我希望所有实体都应该在表中自动转换

我开始使用JDO并定义了这样的属性

javax.jdo.PersistenceManagerFactoryClass=org.datanucleus.api.jdo.JDOPersistenceManagerFactory


datanucleus.autoCreateSchema=true
datanucleus.validateTables=false
datanucleus.validateConstraints=false
datanucleus.query.sql.allowAll = true

javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver
javax.jdo.option.ConnectionURL=jdbc:mysql://127.0.0.1:3306/db_name
javax.jdo.option.ConnectionUserName=user
javax.jdo.option.ConnectionPassword=123456
javax.jdo.option.Mapping=hsql
样本实体:

@PersistenceCapable(identityType = IdentityType.APPLICATION, table = "heartbeat")
public class HeartBeat implements Serializable{
    @PrimaryKey
    @Column(length=128)
    private String userId;
.......
}
现在,当我编译或运行我的应用程序时,表不是自动创建的。我不确定应该使用哪个属性根据创建的实体自动创建表

请接受我的问题,因为我是JDO和MySQL集成的新手


提前感谢。

对于JDO,如果要在持久化过程中为“表”创建架构,请使用此属性告诉DataNucleus,DataNucleus.schema.autoCreateTables。 要自动创建“列”,请使用datanucleus.schema.autoCreateColumns,对于“约束”,请使用datanucleus.schema.autoCreateConstraints。将属性设置为true


这三个选项的快捷方式是使用datanucleus.schema.autoCreateAll并设置为true


你可以在这里查阅文件

像这样定义JDO属性

datanucleus.schema.autoCreateTables=true
datanucleus.schema.autoCreateColumns=true
datanucleus.schema.autoCreateConstraints=true

或捷径


datanucleus.schema.autoCreateAll=true

由密码
123456
标识的用户
user
是否有足够的权限创建架构及其表?尝试使用
root
用户,看看会发生什么。到目前为止,您的进展如何?