1

誰かが次の場合に休止状態で適切な注釈を設定するのを手伝ってもらえますか?

私は3つのテーブルを持っています:

アカウント、カード、AccountCard。

AccountCardは、カードとアカウント間のOneToMany関係のテーブルに参加しています(アカウントには多くのカードがあり、カードは1つのアカウントにのみ接続されています)。

アカウントにリストカードプロパティとカードモデルアカウントアカウントプロパティを追加する必要があります。これは簡単なことです。

問題は、アカウントをカードで保持しているときに「AccountCard.idにnull値を挿入できません」というメッセージが表示されることです。また、シーケンスを使用してテーブルを結合するためのIDを生成する必要がありますが、方法がわかりません。

どんな助けでも大歓迎です。

カードのコードは次のとおりです。

@ManyToOne(fetch = FetchType.LAZY)
@JoinTable(name = "account_card", joinColumns = @JoinColumn(name = "crd_id"), inverseJoinColumns = @JoinColumn(name = "acc_id"))
private Account account;

アカウントクラスにマッピングを設定したくないので、リストカードは追加されません。

4

2 に答える 2

1

あなたの@JoinTable注釈では、参照account_nameではなくテーブルへの参照が表示されますAccountCard。実際にAccountCardどこかにテーブルはありますか?

結合テーブルは通常、独自の id キーを必要としません。また、テーブル DDL を hibernate 自動生成する場合は含まれません。

結合テーブルに id が本当に必要な場合は、休止状態にそれを認識させる方法や必要性はないと思いますがNOT NULL AUTO_INCREMENT、SQL DDL で列を作成する必要があります。

于 2013-02-26T12:20:14.163 に答える
0

最初にデータベース (私の場合は mysql) でテーブルを生成してから、nebans のようなアイデアでエンティティを作成しようとしましたか? mysql の自動インクリメント id カラムは、次で終了します。

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "ID")
private Integer id;

Netbeans を使用してデータベースからエンティティを作成する方法のサンプルについては、http://netbeans.org/kb/docs/javaee/ecommerce/entity-session.html を参照してください

于 2013-02-26T11:25:05.477 に答える