作者:黄秋华1219 | 来源:互联网 | 2023-05-16 19:04
我知道这不是一个特别的编程问题,更像是一个如何使用IDE的问题,但至少上下文似乎是合适的.
我已经找到了问题并找到了这个链接
https://www.jetbrains.com/idea/help/mapping-by-database-schema.html
并尽可能地利用它,但我仍然无法实现我的目标我在努力.
假设我已经在DB中生成了Table1和Table2,Table1具有一对一FK"Table2Id"列.
由于有人谈到在生成之前配置表关系(通过joincolumns和属性类型),我希望"导入数据库模式"对话框和工具除了从数据库表列生成明显的@Basic和@Id列之外,还可以能够在Table1Entity代码中生成FK关系,ala
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL, optiOnal= true)
@JoinColumn(name = "TABLE2ID", nullable = false)
private Table2Entity fkEntity;
但是,它似乎并没有像那样工作.事实上,它在很多方面都令人困惑.
首先,表中的FK列默认未选中用于生成,因此如果只是在表名旁边检查(不展开表节点以查看未选择该列),则实体bean根本不会获取映射到的字段那一栏.
其次,"属性"的命名令人困惑.如果我检查Table1应该在实体中生成Table2id列,并且我还尝试在该列上添加关系,它会抱怨我只能使用一个唯一的属性名称.这似乎有意义(但是,我不确定选择导入关系而不是列应该生成上面的代码)所以我试图取消选择列导入并选择导入关系.仍无济于事.
最后,如果我选择FK列本身,或者选择Table1中的关系进行导入,我无法检查Table2中的Table2Id标识列是否导入,投诉是相同的,它不能多次使用相同的属性名称(这个对我来说没有意义,因为Table2Entity需要代码中的id).
所以......我在配置导入过程时遗漏了什么?我正在使用IntelliJ 14 Ultimate.
或者我应该开始研究其他工具,而不是IntelliJ?