是否可以从表名称中获取实体类名称?我正在使用 JPA。
我有表名。我能够获得表的主键。现在我想从表中检索一个元组。我需要实体对象形式或字符串数组形式的元组。
提前致谢。
从 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;
}