Hi , I am using the tools alpha4 under Eclispe 3.1 and I have 3 minors problems with it.
I have made the mapping of 40 tables under Sybase 12.5. I have create the Session factory as needed. I tested all the mapping and all DAO with nearly 100 unit testing, and everything seems working perflectly. But the tools seems to have some minors issues. For an alpha release, the tool is still ok.
My first problem is:
In the hibernate configuration, when I "create the SessionFactory" I only see 2 entities of the 40 entities (mapped table) I create. I see the "+" of the first one where I can browse inside the domain model, but for the second entity, I dont the any "+". In the error log view, I have 2 errors. The first one in a NullPointerException. And the second exception is a "Unhandled event loop exception" with no stack trace. I check if there was some mapping problem with the second mapped entity. I see none.
Code:
java.lang.NullPointerException
at org.hibernate.console.node.NodeFactory.getMetaData(NodeFactory.java:130)
at org.hibernate.console.node.IdentifierNode.<init>(IdentifierNode.java:24)
at org.hibernate.console.node.IdentifierNode$$EnhancerByCGLIB$$c3a7b9ab_2.<init>(<generated>)
at org.hibernate.console.node.IdentifierNode$$EnhancerByCGLIB$$c3a7b9ab_2.newInstance(<generated>)
at net.sf.cglib.proxy.Enhancer.nextInstance(Enhancer.java:542)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:230)
at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:373)
at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:300)
at org.hibernate.console.node.NodeFactory.createIdentifierNode(NodeFactory.java:165)
at org.hibernate.console.node.ClassNode.createChildren(ClassNode.java:61)
at org.hibernate.console.node.ClassNode$$EnhancerByCGLIB$$6afd7be4_2.CGLIB$createChildren$4(<generated>)
at org.hibernate.console.node.ClassNode$$EnhancerByCGLIB$$6afd7be4_2$$FastClassByCGLIB$$529e7151.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at org.hibernate.console.node.NodeFactory$1.intercept(NodeFactory.java:48)
at org.hibernate.console.node.ClassNode$$EnhancerByCGLIB$$6afd7be4_2.createChildren(<generated>)
at org.hibernate.console.node.ClassNode.checkChildren(ClassNode.java:46)
at org.hibernate.console.node.ClassNode$$EnhancerByCGLIB$$6afd7be4_2.CGLIB$checkChildren$1(<generated>)
at org.hibernate.console.node.ClassNode$$EnhancerByCGLIB$$6afd7be4_2$$FastClassByCGLIB$$529e7151.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at org.hibernate.console.node.NodeFactory$1.intercept(NodeFactory.java:48)
at org.hibernate.console.node.ClassNode$$EnhancerByCGLIB$$6afd7be4_2.checkChildren(<generated>)
at org.hibernate.console.node.BaseNode.isLeaf(BaseNode.java:71)
at org.hibernate.console.node.ClassNode$$EnhancerByCGLIB$$6afd7be4_2.CGLIB$isLeaf$16(<generated>)
at org.hibernate.console.node.ClassNode$$EnhancerByCGLIB$$6afd7be4_2$$FastClassByCGLIB$$529e7151.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at org.hibernate.console.node.NodeFactory$1.intercept(NodeFactory.java:48)
at org.hibernate.console.node.ClassNode$$EnhancerByCGLIB$$6afd7be4_2.isLeaf(<generated>)
at org.hibernate.eclipse.console.views.TreeNodeContentProvider.hasChildren(TreeNodeContentProvider.java:34)
at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:1378)
at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(AbstractTreeViewer.java:1845)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:536)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:514)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:494)
at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:948)
at org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:959)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:180)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:867)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:852)
at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:3704)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:3568)
at org.eclipse.swt.widgets.Composite.WM_NOTIFY(Composite.java:1035)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3089)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:3706)
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1580)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:219)
at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:2815)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3071)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:2391)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:3706)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1656)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2711)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
at org.eclipse.core.launcher.Main.run(Main.java:973)
at org.eclipse.core.launcher.Main.main(Main.java:948)
My second problem is
When I am doing a HQL query in the HQL Editor view, -- it work fine! thanks! --, but it seems to take and keep resouces from my Sybase database server. In my Sybase Central (Administration tool) I see the process of the query in a AWAITING COMMAND "command status", and "recv sleep" status. There is as many process as I make HQL query. They never delete and goive back the resource, only when I close Eclipse that the process stop. After many hours of HQL work, I can jam my Sybase server.
My Third problem is
In the propertie view, I can browse in any list of object (one-to-many) but not in a "one-to-one" object.
I can send some other information (xml, etc) if needed.
Thanks
Etienne.