【问题标题】:"(Class<T> clazz)" argument?“(Class<T> clazz)”参数?
【发布时间】:2014-07-31 07:03:52
【问题描述】:

我不知道作为 (Class clazz) 参数传递什么。我描述了我的项目:

我在以下方法中有一个 GenericDAO.jave 文件:

public <T> T find(Class<T> clazz, Serializable id) {
    return entityManager.find(clazz, id);
}
  1. 从mysql表通过JPA生成的类名为Idioma,有palabra和idioma两个属性。

  2. 为了询问“playa”是否在我的桌子上,我需要使用上述方法。为了从另一个文件调用这个方法,我创建了以下变量来访问我的 GenericDao.java 文件:

    私有 GenericDao myDao;

  3. 然后,我还创建了以下方法:

    public void findsAndReadsExistingIdiomaByPalabra() throws Exception {
        Idioma miIdioma;
        miIdioma=miDao.find(**clazz**, "playa")
    

    }

我的疑问是:

我不知道用 clazz 写什么。有人可以帮我吗?如果您需要有关我的项目的更多信息,请随时询问。

提前致谢

【问题讨论】:

标签: generics jpa persistence dao


【解决方案1】:

clazz 必须是您将尝试阅读的课程。所以如果我理解你的问题,那一定是Idioma.class

【讨论】:

  • (猜测)我怀疑它一定是类名(java.lang.String)。它应该是您的代码 sn-p 可以传递的类对象(java.lang.Class)。
  • @Markus Idioma.class 是类对象。类名是 Idioma.class.getName()
  • 我同意。您不应该在答案中最好写类对象而不是“类名”吗?
  • @Markus 是的,你是对的。我改变了答案。
  • 谢谢你的回答:)
猜你喜欢
  • 1970-01-01
  • 2013-02-15
  • 2011-11-20
  • 2020-01-11
  • 2023-04-06
  • 2013-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多