Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中生成字段常量字符串的工具?_Java_Eclipse_Intellij Idea_Lombok - Fatal编程技术网

java中生成字段常量字符串的工具?

java中生成字段常量字符串的工具?,java,eclipse,intellij-idea,lombok,Java,Eclipse,Intellij Idea,Lombok,我需要一个Eclipse或IDEA插件来生成java中的字段名常量字符串。例如,在ORM中,我们通常定义这样的类: class DealDB { public String dealId; } 我们可以使用eclipse或IDEA生成get和set方法,但不能生成字段名常量字符串。当我们用java编写查询代码时,我们经常需要这个常量字符串 class DealDB { public String dealId; // to generate this publ

我需要一个Eclipse或IDEA插件来生成java中的字段名常量字符串。例如,在ORM中,我们通常定义这样的类:

class DealDB {
    public String dealId;
}
我们可以使用eclipse或IDEA生成get和set方法,但不能生成字段名常量字符串。当我们用java编写查询代码时,我们经常需要这个常量字符串

class DealDB {
    public String dealId;

    // to generate this
    public static final String FIELD_DEALID="dealId";
}

也许extend lombok()可以实现这一点。

在IntelliJ中,我可以建议一些不完全符合您要求的东西,但很接近

以下面的代码示例为例,包含字符串
“dealId”

将光标放在
“dealId”
上,然后按Ctrl-Alt-C(重构:创建常量)

IntelliJ将弹出一个对话框,然后为您创建以下内容:

    public static final String DEAL_ID = "dealId";

您还可以选择“替换所有事件”和“移动到另一个类”。

您至少可以在Eclipse中为此类定义自己的模板。我强烈建议您不要使用此类常量。这将使您的代码更难阅读。示例:“
从交易d中选择d,其中d.dealId=:dealId”
从交易d中选择d,其中d.“+Deal.FIELD\u dealId+”=:dealId”
更清晰。使用这些常数越多,情况就越糟。使用单元测试来确保您的查询是正确的,并做正确的事情。@jbnize如果我们使用morphia来查询mongodb,我们通常会编写类似于
query query=datastore.createQuery(DealDB.class)的代码;query.field(“创建”).greaterThanOrEq(12345),因此在用const字段字符串替换“created”后,我们可以更有效地编写代码,并可以轻松搜索使用此字段的代码。虽然它可以让您使用IDE工具查找用法等,但这不是一个好计划。适当的设计将确保您不需要搜索用法,因为所有访问都将在单个包中完成。
    public static final String DEAL_ID = "dealId";