2

是否可以从表名称中获取实体类名称?我正在使用 JPA。

我有表名。我能够获得表的主键。现在我想从表中检索一个元组。我需要实体对象形式或字符串数​​组形式的元组。

提前致谢。

4

1 回答 1

3

从 Java Persistence 2.0 开始,您可以使用它Metamodel来执行此操作:

public Class<?> getTypeForTableName(String tableName) {
  for (EntityType<?> entityType : getEntityManager().getMetamodel().getEntities()) {
    if (entityType.getJavaType().getAnnotation(Table.class).name().equals(tableName)) {
      return entityType.getJavaType();
    }
  }
  return null;
}
于 2017-05-19T10:06:24.603 回答