【问题标题】:Hibernate tools: how to ignore foreign keys? [duplicate]Hibernate 工具:如何忽略外键? [复制]
【发布时间】:2015-02-22 05:13:11
【问题描述】:

Hibernate 工具(用于 Eclipse)逆向工程生成带有引用字段的 POJO。如何忽略数据库关系?例如,

class User {
 private City city;
...
}

我想得到

class User{
private Integer cityId;
...
}

【问题讨论】:

  • 什么工具?你可以手动编码吗?为什么你不想要这种关系?
  • 我的意思是Hibernate tools for Eclipse。 DB 上的表太多,我无法手动编写每个实体。我不想要关系,因为对象将保留在缓存中。
  • 在配置窗口中指示它不要检测一对多或多对多
  • 我这样做了,未选中“检测多对多表”和“检测一对一关联”。这没有帮助。

标签: java hibernate hibernate-tools


【解决方案1】:

最后,我找到了问题的答案。我创建了逆向工程策略类并覆盖了一些方法:


public class RevengStrategy extends DelegatingReverseEngineeringStrategy  {

    public RevengStrategy(ReverseEngineeringStrategy delegate) {
        super(delegate);
    }

    @Override
    public boolean excludeForeignKeyAsManytoOne(String keyname, TableIdentifier fromTable, List fromColumns, TableIdentifier referencedTable, List referencedColumns) {
        return true;
    }

    @Override
    public boolean excludeForeignKeyAsCollection(String keyname, TableIdentifier fromTable, List fromColumns, TableIdentifier referencedTable, List referencedColumns) {
        return true;
    }

}

【讨论】:

    猜你喜欢
    • 2015-10-29
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 2012-09-04
    • 2018-02-02
    • 2015-12-22
    • 1970-01-01
    • 2018-11-16
    相关资源
    最近更新 更多