3

私は2つのテーブルを持っていprice_feedますprice_feed_type. 価格フィードには、価格フィードのさまざまな実装のデータが含まれます。

現在、これは通常<discriminator>、テーブル内の識別子フィールドを使用して、タグを介して行われprice_feedます。ただし、システムのコンテキストでは、このフィールドがprice_feed_typeテーブルにある方が望ましいでしょう。<discriminator formula="..."/>私はその方法に出くわし、これを使ってみました。

formula1 つの解決策は次のとおりです (これが属性に入力されていると仮定します)。

(SELECT implementing_class FROM price_feed_type INNER JOIN price_feed ON price_feed.price_feed_type_id = price_feed_type.price_feed_type_id")

別の解決策は次のとおりですpriceFeedIDprice_feed.price_feed_type_id

(SELECT implementing_class FROM price_feed_type WHERE price_feed_type.price_feed_type_id = price_feed.price_feed_type)

どちらでも次のエラーが発生します。

org.postgresql.util.PSQLException: ERROR: column timedprice3_.implementing_class does not exist

追加のメモ、括弧なしでは、エラーが発生します:

org.postgresql.util.PSQLException: ERROR: syntax error at or near "SELECT"

これを修正する方法についてのアイデアはありますか?

編集:

これまでに見つけたものを追加するには:

どちらかを使用してSELECT *、 を実行してSELECT implementing_classから外部で実行すると、別のエラーが発生します。完全なコード:

(SELECT implementing_class FROM (SELECT * FROM price_feed_type INNER JOIN price_feed ON price_feed.price_feed_type_id = price_feed_type.price_feed_type_id) AS foo)

エラーは次のとおりです。

org.postgresql.util.PSQLException: ERROR: syntax error at or near "."
4

0 に答える 0