【问题标题】:Can Datanucleus SchemaTool create additional columns not bound to a PC but mapped in JDO ORM?Datanucleus SchemaTool 能否创建未绑定到 PC 但映射到 JDO ORM 中的附加列?
【发布时间】:2013-06-27 20:55:16
【问题描述】:

我有一个用户类 (@PC),目前只有一个属性:“电子邮件”,现在我希望用户表(存储用户类的位置)有其他列,这些列不由 JDO 管理,而是主题在 PM 之外发生的身份验证。当我通过 Datanucleus 自动创建表,然后 ALTER 表添加我的列时,一切都按预期工作。

当然,我很乐意使用 SchemaTool 生成/更新模式,但不想在该用户表上手动执行 ALTER 表过程。我天真地尝试将两个额外的列放入 ORM 文件(省略目标):

  <package name="bo">
    <class name="User" table="tb_user">
      <column name="USER_SECURITY" jdbc-type="VARCHAR" length="64"/>
      <column name="SEC_SALT" jdbc-type="VARCHAR" length="10"/>
    </class>
  </package>

但是SchemaTool没有生成额外的列,虽然ORM文件是根据日志加载的。

顺便说一句:我不想在 JDO 生命周期中映射和管理这些列。

那么,是否可以让 Schematool 在表上生成额外的列,或者我是否必须将它们分类到另一个不受 Datanucleus 管理的表中?

谢谢

【问题讨论】:

    标签: orm jdo datanucleus


    【解决方案1】:

    JDO 规范定义如本链接中所见,我对我们在 SchemaTool 中使用此类未映射列的测试没有任何问题 http://www.datanucleus.org/products/accessplatform_3_3/jdo/orm/schema_mapping.html#unmapped

    【讨论】:

    • tx 获取链接!如果我将列定义从 .orm 移动到 .jdo 文件中,则没有问题,但 SchemaTool 会忽略 .orm 文件中的定义,即使 .orm 文件中定义的表名胜过 .jdo 文件中定义的表名(例如预期)但未映射的列在 .orm 中被完全忽略,谢谢
    • 为什么不在问题跟踪器中报告呢?将 ORM 元数据合并到 JDO 元数据中可能存在一些问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多