對象類型,這裏是我的功能:聲明通過字符串
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