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