2011-11-27 57 views
0

我一直在java中写几个月,刚开始使用netbeans。 今天我花了一整天的时间尝试解决如何连接到SQL数据库并在JTable中显示来自2个表的数据(即,显示来自具有内部连接的select语句的数据)。我已经尝试使用JPQL,其编号为 SELECT j, cust.name FROM Job j JOIN j.jobnumber cust,其中作业表有一个名为customer的字段,该字段在客户表中引用了id。这引发异常:在NetBeans中显示链接表中的数据JTable

Caused by: Exception [TOPLINK-8029] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EJBQLException Exception Description: Error compiling the query [SELECT j, cust.name FROM Job j JOIN j.jobnumber cust], line 1, column 11: invalid navigation expression [cust.name], cannot navigate expression [cust] of type [java.lang.Integer] inside a query. at oracle.toplink.essentials.exceptions.EJBQLException.invalidNavigation(EJBQLException.java:430)

我到底做错了什么?任何人都可以指出我如何制作链接表Java应用程序的一些例子吗?我仍处于开发的早期阶段,所以如果使用mysql数据库不是最好的方式去做事情,完全改变不是没有问题 谢谢

回答

0

我发现如果我删除了它为我生成的clases(用于我的表格),并且一次性重新创建它们,它就会拾起它们之间的关系,并在代码中使它成为敌人。然后我可以使用SELECT j FROM Job j并访问我需要的每件事情。如果有其他人需要帮助,我可以从这里获得帮助http://netbeans.org/kb/67/java/gui-db-custom.html

1

这不是一个真正的netbeans问题,它的一个Toplink/JPA问题。既然你得到了一个EJBQLException,你有没有找过EJBQL的例子?我真的不知道,所以我不能帮你,但那是我开始的地方。

作为一种替代方法,由于您刚刚开始学习Java,因此您可能希望尝试使用较少的行李,如直线JDBC。另外,如果您现在坚持使用JPA答案,或将来再次切换到此答案,则应考虑EclipseLink。它已经基本上取代了Toplink,它已经变成了越野车并且不受欢迎。