WebObjects/EOF/建模/EOModeler 错误
外观
< WebObjects | EOF
- 属性编辑器怎么会这么 buggy?
- 这分散了 WebObjects 的强大功能
---
您遇到了哪些错误?您可以更具体一些吗?
对 EOModeler 的第一印象是,我们可以用它做很多事情,而且它通常一开始就能做到。当模型变得更复杂时,问题就出现了。
- 模型编辑错误
- 如果您使用继承,而且大多数现实生活中的应用程序都使用继承,EOModeler 会表现出一些非常奇怪的行为。
- 如果您复制并粘贴由原型定义的属性,有时它不会复制它或只复制部分信息,特别是在您覆盖了原型的一些属性之后。(它每次都会丢失主键)
- 在父实体中复制和粘贴关系不会反映在子实体中。
- 在某些深度继承中,打开或关闭属性位并不总是传播到子实体。
- Project Builder 集成
- 当您生成新的 java 文件时,它会弹出一个对话框,询问您是否要将文件插入项目中,但点击“确定”按钮不会有任何反应。
合并功能有点不错,但我们需要一个更健壮的机制来分离生成的代码和自定义代码。
- 运行时错误
- 我知道的一个错误,而且它经常会让我遇到麻烦,虽然幸运的是它并不经常发生,那就是 internalInfo 错误。EOModeler 在模型文件中插入了一些在运行时不会使用的属性。有时这些属性会导致崩溃,例如在原型实体或关系上。
---
新手说
我在尝试将 EOModeler 文件与我的 mySQL 数据库同步时遇到一个错误。我怀疑是适配器的问题,但我不确定。它弹出了一个警报框:“警告:没有提供原因”。如何调试适配器的操作?我在 omni 或 apple 中都找不到关于此错误的任何信息。
我不确定该功能自 v5 以来是否一直有效,需要手动同步。
“警告:没有提供原因”错误可能是因为您的数据库包含仅包含主键的表(例如,用于创建多对多关系的表)。EOF 的逆向工程代码在遇到没有类属性的表时会卡住。
另一个错误。我将它提交给 Apples Bugreporter
在 WebObjects EOModeler 中,我尝试按照 EOModeler 文档的描述设置多对多关系。这导致了一个问题,我无法从我的实体生成 SQL 语句。显示了一个错误消息,提示“*** -[NSCFDictionary? setObject:forKey:]: attempt to insert nil value”
- 重现步骤
- 打开 EOModeler
- 按照 WebApplications 文档的描述设置新模型(查看http://developer.apple.com/documentation/WebObjects/Web_Applications/EnterpriseObjectsApp/chapter_11_section_3.html#//apple_ref/doc/uid/TP30000121/BAJEFFEH)
- 以相同的方式生成第二个实体 Book,如上所述。让它只有一个属性“title”和一个主键“bookID”?;与实体“Author”相同的属性。
- 尝试按照“Using EOModeler”文档的描述设置多对多关系(查看http://developer.apple.com/documentation/WebObjects/UsingEOModeler/5WorkingWithRelationships/chapter_5_section_7.html#//apple_ref/doc/uid/DontLinkBookID_504-DontLinkChapterID_4-BABGHHGG)
- 切换到图表视图
- 选择两个实体
- 从“属性”菜单中选择“在多对多中加入”。
- 为新创建的实体指定一个表名(例如“AUTHOR_BOOK”?;)。
- 从“模型”菜单中检查一致性(一切正常)。
- 尝试通过选择第一个实体“Author”然后从“属性”菜单中选择“生成 SQL...”来生成用于创建模型表的 SQL 命令。;。
- 嘭!错误信息。
- 结果
我希望该命令能够完美地运行并生成 SQL 语句,以便我可以创建我的表并使用我的模型。
- 回归
尝试了不同的项目设置,隔离到最少的表数量。重新阅读文档。没有解决方案。