我正在使用Java数据对象(JDO)来持久化自定义Java类。这工作正常,但当我从商店获取或保存对象时,我的日志被以下信息消息所淹没:
DataNucleus.Persistence - 属性javax.jdo.option.spi.ResourceName unknown - 将被忽略
在Google上搜索此消息会显示一些结果,但这些结果并非特定于删除此消息。我希望你们能帮忙!您可以在下面找到我的jdo.properties
文件的内容:
javax.jdo.PersistenceManagerFactoryClass=org.datanucleus.api.jdo.JDOPersistenceManagerFactory
javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver
javax.jdo.option.ConnectionURL=jdbc:mysql://127.0.0.1/dbName
javax.jdo.option.ConnectionUserName=userName
javax.jdo.option.ConnectionPassword=password
datanucleus.autoCreateSchema=true
datanucleus.autoCreateTables=true
datanucleus.autoCreateColumns=true
datanucleus.PersistenceUnitName=MyPersistenceUnit
datanucleus.query.jdoql.allowAll=true
答案 0 :(得分:0)
创建PMF时JDOHelper(错误地)将自己的一些属性添加到传递给实现构造函数的内容中。所有最新版本的DataNucleus都不会输出该日志消息并忽略该属性。所有早期版本都输出日志消息并忽略该属性。
答案 1 :(得分:0)
回答我自己的问题(也许这对某些人有用):
我使用
对PersistenceManagerFactory
实例进行了较早的初始化
PersistenceManagerFactory pmfInstance = JDOHelper.getPersistenceManagerFactory("transactions-optional");
忽略了我的 jdo.properties 文件。将代码更改为
PersistenceManagerFactory pmfInstance = JDOHelper.getPersistenceManagerFactory("jdo.properties");
解决了这个问题。