java - postgres中使用java的相关字段

标签 java sql postgresql

在 apex 中你可以像这样查询

SELECT id , name , **account__r.name** FROM schemaname.contact 

其中 account__r.name 是获取相关账户名称。

是否可以使用 postgres 数据库在 java 中执行此操作?或做类似的事情。无需专门单独查询每个表

最佳答案

根据您的评论,SFDC 似乎对这个 ** 封闭的字段进行了特殊处理。因此,您无法像在 Apex 代码中那样轻松访问该数据。当您使用 Apex 进行开发时,它会自动为您处理许多此类底层内容。在 Java 和 PostgreSQL 中,你有更多的灵 active (由于工作在较低的层和较少的抽象),但当然你会失去这些奇特的特性。这是一个权衡。如果您所说的数据存储在 postgresql 中,那么它们肯定是表,除了通过连接多个表直接查询它们之外别无他法。我的猜测是,在最简单的形式中,它会是这样的(这只是一个例子):

SELECT c.id, c.name, ac.name 
FROM contact c 
    JOIN account ac ON c.account_id = ac.id;

问题是您的代码肯定会与您的数据在数据库层的 SFDC 中建模的方式相结合。因此,如果他们通过其他工具更改某些内容,那么您的代码将停止工作。我不熟悉这个 SFDC 和 Apex 的东西,如果数据模型设计是由你做的,那么值得考虑这样做,否则坚持单一的解决方案/框架/工具更适合 future 让它处理所有底层的东西。

编辑: 考虑到您对 store --> account --> contact 关系的评论,那么您的查询将是这样的:

SELECT c.id, c.name, ac.name, st.city
FROM store st join account ac on ac.store_id = st.id
    JOIN contact c on c.accountid = ac.id

关于java - postgres中使用java的相关字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48177442/

相关文章:

java - HTTP 状态 500 - javax.el.PropertyNotFoundException : Property 'first_name' not found on type java. lang.String

sql - 关于多个内连接查询的帮助

ruby - 为什么 psql -version 输出和连接到我的应用程序的 psql 版本之间存在差异?

java - 我们如何使用 PostgreSQL 中的加密来获取地理服务器中的原始数据

PHP 如何一次运行一个部分的 sql 查询?

regex - 仅选择后跟数字的字母

java - Groovy SwingBuilder 在什么情况下更胜一筹?

java - 为什么Joda-Time Duration序列化时出现 "iMillis"?

java - 安卓。键盘永远不会出现

sql - 无法在预建表上重新创建物化 View