有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在netbeans JTable中显示链接表中的数据

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

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数据库不是最好的方式,那么完全改变也不是不可能的 谢谢


共 (2) 个答案

  1. # 1 楼答案

    这不是真正的netbeans问题,而是Toplink/JPA问题。既然您得到了一个EJBQLException,您有没有寻找EJBQL示例?我真的不知道,所以我帮不了你,但这就是我要开始的地方

    另一种选择是,由于您刚刚开始学习Java,您可能希望尝试一些负担较少的东西,比如straight JDBC

    此外,如果你现在坚持JPA的答案,或者以后再切换到它,你应该考虑EclipseLink。它已经基本上取代了Toplink,Toplink已经变得不受欢迎

  2. # 2 楼答案

    我发现,如果我删除它为我(为我的表)生成的类,并立即重新创建它们,它就会发现它们之间的关系,并在代码中为我创建它们。然后我就可以使用SELECT j FROM Job j访问我需要的每一件东西。如果有人需要帮助,我可以从这里得到帮助http://netbeans.org/kb/67/java/gui-db-custom.html