我有一个参数化的休眠dao,它执行基本的crud操作,并且当将参数化用作委托时,对给定的dao执行基本的crud操作。
public class HibernateDao <T, ID extends Serializable> implements GenericDao<T, ID>
我希望能够在运行时从T派生Class以便在Hibernate中创建条件查询,例如:
public T findByPrimaryKey(ID id) {
return (T) HibernateUtil.getSession().load(T.getClass(), id);
}
我知道:
T.getClass()
不存在,但是有什么方法可以在运行时从T导出正确的Class对象吗?
我研究了泛型和反射,但没有提出合适的解决方案,也许我错过了一些东西。
谢谢。
您可以将Class作为构造函数参数传递。
public class HibernateDao <T, ID extends Serializable> implements GenericDao<T, ID> {
private final Class<? extends T> type;
public HibernateDao(Class<? extends T> type) {
this.type = type;
}
// ....
}
问题内容: 我试图从私钥生成公共ECDSA密钥,但是在Internet上如何进行此操作方面,我还没有找到太多帮助。几乎所有内容都是根据公共密钥规范生成公共密钥的,我不知道该如何获得。到目前为止,这是我汇总的内容: 但是,在运行时,出现以下错误: 我究竟做错了什么?有没有更好/更简便的方法可以做到这一点? 编辑:我设法获得一些代码进行编译,但不能正常工作: 当我运行它时,它会生成一个publicKe
下面是一个人为的例子:(实际代码中使用的命名方案太令人困惑) 我有一个班主任,他是第三方图书馆的一部分,不可更改。我也有一些课程延伸到父亲;比如儿子。祖父有一个类似这样的构造函数: 这个构造函数中实际发生的事情并不重要。重要的是,它所做的任何事情都必须由所有派生类完成,因此对的调用是每个派生类构造函数的第一行。这里的含义是,祖父的所有后代的构造函数,无论距离有多远,都必须始终调用super(或调用
问题内容: 让我解释一下:我已经在Linux上开发了一个应用程序,该应用程序分叉并执行一个外部二进制文件并等待其完成。结果由fork +进程特有的shm文件传达。整个代码都封装在一个类中。 现在,我正在考虑对进程进行线程化以加快处理速度。具有许多不同的类函数实例的实例会分叉并同时(使用不同的参数)执行二进制文件,并将结果与它们自己的唯一shm文件进行通信。 这个线程安全吗?如果我在线程中分叉,
我想派生一个具有常量和一些琐碎操作的类: 的派生 应该是策略的结果,但不是。
问题内容: 如何使用C ++从派生类调用父函数?例如,我有一个名为的类,一个名为的类是从父类派生的。每个类中都有一个print函数。在定义孩子的打印功能时,我想调用父母的打印功能。我将如何去做呢? 问题答案: 我冒着明显的危险:调用该函数,如果它在基类中定义,则该函数在派生类中自动可用(除非它是private)。 如果派生类中有一个具有相同签名的函数,则可以通过在基类名称后加上两个冒号来消除歧义。