对象类型,这里是我的功能:声明通过字符串
private boolean CheckPassword(String type, String login, String passwordHash) {
EntityManagerFactory entityManagerFactory
= Persistence.createEntityManagerFactory("kwestionariuszFor" + type);
EntityManager entityManager
= entityManagerFactory.createEntityManager();
type = type.substring(0, 1).toUpperCase() + type.substring(1, type.length());
List<Object> entities
= entityManager.createNamedQuery(type + ".findByLogin").setParameter("login", login).getResultList();
if (passwordHash.equals(entities.get(0).Password)) {
return true;
}
else {
return false;
}
}
的Java不“知道”有任何表的Password列。我正在想,告诉它的方式可能如下所示:
List<type.toClass()>
什么东西......有什么办法可以实现我想要的吗?我不想创建,如果之后,如果......之后...... -_-'
看起来你正在试图施放。你怎么知道你收到的类型是否有密码字段? – Emily
“Stringly typed code”=( –
@Emily,因为这个函数只能从四个其他函数中调用,只能在有密码字段的对象上强制转换:) – smsware