Hi,
ich habe ein Problem und zwar habe ich eine Generische Hibernate DAO geschrieben.
Hier mein Code:
Wenn ich eine neue KLasse erstee und mittels extends die Generische KLasse erweitere funktioniert alles und ich habe Zugriff auf die DB.
Jetzt möchte ich aber die Klasse mittels "new" Operator in einer Klasse instanzieren ich glaube man nennt das Komposition. Hier die Fehlermeldung:
Es hat irgendwas mit dem Casten der Klasse im Konstruktor zutun. Problem, ich habe keine Ahnung wie ich das korrigieren kann. Jemand eine Idee?
ich habe ein Problem und zwar habe ich eine Generische Hibernate DAO geschrieben.
Hier mein Code:
Java:
public class GenericDAOImpl<T, PK extends Serializable> extends HibernateDAO implements GenericDAO<T, PK> {
protected Class<T> entityClass;
@SuppressWarnings("unchecked")
public GenericDAOImpl() {
ParameterizedType genericSuperclass = (ParameterizedType) getClass().getGenericSuperclass();
this.entityClass = (Class<T>) genericSuperclass.getActualTypeArguments()[0];
}
...
Wenn ich eine neue KLasse erstee und mittels extends die Generische KLasse erweitere funktioniert alles und ich habe Zugriff auf die DB.
Jetzt möchte ich aber die Klasse mittels "new" Operator in einer Klasse instanzieren ich glaube man nennt das Komposition. Hier die Fehlermeldung:
Java:
java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
at de.timetracker.core.genericdao.GenericDAOImpl.<init>(GenericDAOImpl.java:16)
at de.timetracker.test.TestFrame.<init>(TestFrame.java:23)
at de.timetracker.test.TestFrame$1.run(TestFrame.java:33)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Es hat irgendwas mit dem Casten der Klasse im Konstruktor zutun. Problem, ich habe keine Ahnung wie ich das korrigieren kann. Jemand eine Idee?
Zuletzt bearbeitet: