5
クエリのbyteaエントリをbigintに変換する必要があります。これはどうすればできますか?postgresql:byteaをbigintに変換する
詳細:
私は以下のように休止状態のリポジトリを持っている -
@Query(value = "update Sample_Table set other_id = ?1 where id = ?2", nativeQuery = true)
void saveOrUpdateOtherId(Long other_id, Long id);
'Sample_Tableが' このidフィールドを持っているので、Hibernateは何とかbytea
として(where句で)id
を取り、 bigint
となり、タイプミスマッチの問題が発生します。
キャストを使用してbytea
をbigint
に変換しようとしましたが、エラーメッセージmsgがbigint
にキャストできませんでした。
bytea
をbigint
に変更するにはどうすればよいですか?
編集:
Sample_Table DAO:
@Table(name = "Sample_Table")
public class Sample{
@Id
@Column(name = "id", unique = true)
@GeneratedValue
private Long id;
@Column(name = "other_id")
private Long other_id;
}
id
フィールドはロングとしてここに定義されています。
編集-2 誰かがこのような問題を取得する場合は、最も可能性が高い彼は、クエリでnull値を渡しています。
あなたはSample_Tableクラスも提供する必要があります。通常は 'id'を適切な方法で定義しなかったからです。 – SWiggels
'id'フィールドはここではLong(bigint)として定義されています。確かに、なぜ8ビットbig intがここでバイト配列として解釈されるのですか? –
postgresを9.4にアップグレードするオプションはありませんか? – SWiggels