Java 如何用jdbc在swing中用另一个字段替换外键?

Java 如何用jdbc在swing中用另一个字段替换外键?,java,sql,swing,jdbc,foreign-keys,Java,Sql,Swing,Jdbc,Foreign Keys,这是一个初学者的问题,也许我遗漏了一些明显的东西,但是我应该如何使用TableModel和jdbc来显示引用表中另一个字段的值,而不是外键的值 我想到了两种可能的解决办法,但我对它们不太满意。(他们来了,但请注意,如果有更好的解决方案,我并不坚持在答案中提及我的想法。) 一种是对引用的表进行查询,以获取getValueAt中每个外键字段值的替换值。这似乎效率不太高(即使缓存了),我想知道如何将其与编辑和将更改的数据写回表同步 另一个是用SQL查询替换/中字段的值。这不会使更新/插入变得太简单,但

这是一个初学者的问题,也许我遗漏了一些明显的东西,但是我应该如何使用
TableModel
jdbc
来显示引用表中另一个字段的值,而不是外键的值

我想到了两种可能的解决办法,但我对它们不太满意。(他们来了,但请注意,如果有更好的解决方案,我并不坚持在答案中提及我的想法。)

一种是对引用的表进行查询,以获取
getValueAt
中每个外键字段值的替换值。这似乎效率不太高(即使缓存了),我想知道如何将其与编辑和将更改的数据写回表同步

另一个是用SQL查询替换/中字段的值。这不会使更新/插入变得太简单,但可以进一步改进以使用视图。这似乎是一个可行的解决方案,但我真的需要修改我的数据库,以便与一个简单的java应用程序一起使用吗

有没有更好的解决方案/这些有什么问题/我完全错了吗?:)


应支持读取、更新、插入、删除。我正在使用mysql(和/或sqlite)。

您需要将用户数据转换回数据库模型。因为您使用的是jdbc,这意味着要构建SQL。您应该查看PreparedStatement,有关用法,请参阅。我希望您将根据某些事件执行此操作,例如保存按钮或值更改。

是否有一个术语表示“显示引用表中另一个字段的值而不是外键的值”?:)我们可以推断您有一个RDBMS,您要做的是编写一个带有连接的select查询。如果你使用JPA,你可以使用一个急切的获取来为你做这件事,但那是另一回事了。尝试编写一些sql来获取所需内容,然后稍后添加Java/Table/etc。@Romski我实际上有一个带有join what的select查询,它只获取我想要的内容。但是,如果用户编辑表中的值,我如何更新这些值?我是否必须镜像select join查询中固有的复杂性,在
setValueAt
中使用java代码(我想每个外键+1个语句)?谢谢你推荐JPA,但我现在想用jdbc试试。