0

すべての休止状態の開発者
の皆様、アプリケーションで使用している次の休止状態のhbm2javaクラス。2つのテーブルを結合してデータベースからデータを取得しているときに、名前フィールドが必要です。(このデータはUIのグリッドに表示する必要があります。)しかし、 rxJournalテーブル
にレコードを挿入しようとすると問題が発生します。 エラーは次のとおりです。

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'name' in 'field list'  

hibernateを使用してレコードを挿入または更新しているときに、ファイルされた「名前」を無視/スキップしたい。以下は私のHBMクラスです。

@Entity
@Table(name = "rxJournal", catalog = "Company")
public class RxJournalBean implements java.io.Serializable {

private Integer rxJournalId;
private String entryMemo;
private String name;

    ....

@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "rxJournalID", unique = true, nullable = false)
public Integer getRxJournalId() {return this.rxJournalId;}
public void setRxJournalId(Integer rxJournalId) {this.rxJournalId = rxJournalId;}

@Column(name = "EntryMemo")
public String getEntryMemo() {return this.entryMemo;}
public void setEntryMemo(String entryMemo) {this.entryMemo = entryMemo;}

public String getName() {return name;}
public void setName(String name) {this.name = name;}
}

名前フィールドだけを削除することで別のBeanを作成できますが、冗長なコードは使用したくありません。何か提案をお願いします。

繰り返し質問する場合は無視して、正しい解決策を教えてください。

前もって感謝します。

4

1 に答える 1

6

私が正しく理解している場合、エンティティにnameプロパティを設定したいが、このプロパティを非永続的にしたい(つまり、Hibernateによって完全に無視された)。

もしそうなら、それは@Transientの目的です:

@Transient
public String getName() {
    return name;
}

もちろん、nameプロパティは、Hibernateによってデータベースからロードされるすべてのインスタンスに対してnullになります。値を割り当てる場合にのみ値があります。

于 2012-05-15T13:24:57.063 に答える