0

まず、私の質問がうまく定式化されていない場合は申し訳ありません。

対応するテーブルにマップされた単純なオブジェクトがあります:

@Entity
@Table(name = "USERS")
public class User{

    @Id
    @Column(name = "USER_ID")
    @GeneratedValue
    private long userId;

    @Column(name = "NAME")
    private String name;
        //getters and setters...

私のデータベースには、別のテーブルもあります。このテーブルに関連付けられたオブジェクトはありませんが、列「USER_ID」があります。これは、「USERS」テーブルと同じ ID です。

したがって、問題は、Hibernate 基準を使用して、2 番目のテーブルと同じ USER_ID を持つ最初のテーブルからすべてのユーザーを選択する方法です。たとえば、userId =1 と =2 の 2 人のユーザーがいます。列「USER_ID」の2番目のテーブルには、値「2」しかありません。したがって、最初のテーブルから userId =2 の User のみが必要です。

4

1 に答える 1

0

あなたのクエリは FOREIGN_KEY 関係の古典的な例ですが、u が言ったように、別のテーブルの Hibernating マッピング モデルがありません。ユーザー マッピング ファイルで sql-query を使用することをお勧めします。このクエリ結果をユーザー オブジェクトに収集します。

この <sql-query name="userwith"> <return alias="user" class="User"/> SELECT user.Name AS {user.name} FROM USERS JOIN ANOTHER_TABLE another_table ON user.ID = another_table.USER_ID </sql-クエリ>

于 2013-04-16T18:04:41.213 に答える