获取poco属性名称

发布于 2024-12-23 06:58:12 字数 444 浏览 3 评论 0原文

我在 android 中使用 ormlite,并且有一些 poco 类。

示例:

public class TableName {
  @DatabaseField(id = true)
  public Integer id;

  @DatabaseField
  public String prop;
}

我有时想创建

QueryBuilder<TableName, Integer> qb = dao.queryBuilder();
qb.where().eq("prop", "value");

验证“prop”字符串的方法,而不使用 poco 类中的常量(如 PROPNAME)。你知道一种有效的方法吗? (没有像反射这样的重负载)。

我真的很喜欢代码验证。

问候

I use ormlite with android and I've some poco class.

Example :

public class TableName {
  @DatabaseField(id = true)
  public Integer id;

  @DatabaseField
  public String prop;
}

I want to create sometimes

QueryBuilder<TableName, Integer> qb = dao.queryBuilder();
qb.where().eq("prop", "value");

I'd like to validate the "prop" string without using constants in my poco class (like PROPNAME). Do you know a efficiant way to do this ? (without heavy load stuff like reflexion).

I'd really like code validation.

Regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花辞树 2024-12-30 06:58:12

ORMLite 文档以这种方式组织它,以避免到处都是字符串文字:

public class TableName {
  public static final String FIELD_ID = "id";
  public static final String FIELD_PROP = "prop";

  @DatabaseField(id = true)
  public Integer id;

  @DatabaseField
  public String prop;
}

QueryBuilder<TableName, Integer> qb = dao.queryBuilder();
qb.where().eq(TableName.FIELD_PROP, "value");

当您传入此字符串时,ORMLite 在内部使用反射,因此在使用此库时这是不可避免的。

The ORMLite documentation organizes it this way, to avoid string literals everywhere:

public class TableName {
  public static final String FIELD_ID = "id";
  public static final String FIELD_PROP = "prop";

  @DatabaseField(id = true)
  public Integer id;

  @DatabaseField
  public String prop;
}

QueryBuilder<TableName, Integer> qb = dao.queryBuilder();
qb.where().eq(TableName.FIELD_PROP, "value");

Internally ORMLite uses reflection when you pass this string in, so it is unavoidable when using this library.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文