我想使用degraph生成模型类之间的关系图。
这是一个代表性的示例模型,与Task相关的POJO TaskEntryImpl:
package com.packag.tm.model.pojo;
public class TaskEntryImpl implements TaskEntry,Serializable {
private Integer id;
private Task task;
public Task getTask() {
return this.task;
}
public void setTask(Task v) {
this.task = v;
}
包含模型的软件包将
model.pojo
作为软件包名称的一部分:com.somepackage.events.model.pojo.DurationImpl
au.com.anotherpackage.ecrm.model.pojo.PayphoneImpl
如何获得满足上述特征的模型图?
出于好奇:我希望我可以有一个实体关系图。
这些模型类由Hibernate ORM连接。原始开发人员维护的SQL独立于代码库,并且从未使用过外键。因此,这排除了从数据库架构中获取实体关系图的可能性。
最佳答案
创建具有以下内容的文件pojo.config
output = pojo.graphml
classpath = yourlib.jar
include = **.model.pojo.**
首先,我将文件直接放在Degraph的
bin
目录中。classpath
值必须指向要分析的字节码,因此必须是jar文件或包含所有类文件的目录。现在运行(再次从bin目录):
degraph -f pojo.config
Degraph应该打印出找到的类的数量,并在当前目录(即bin)中创建文件
pojo.graphml
。您可以使用yed打开它。请参见Degraph for how to create a useful layout with yed的文档。
请注意,Degraph将为包装创建包装盒,并将类包装盒放入这些包装盒中。如果您不喜欢它们,可以打开包装盒,然后删除包装盒。