4

一般的な形式の多くの JPA エンティティ クラスがあります。

@Entity
@Table(name = "MY_TABLE", catalog = "", schema = "VBMSUI")
@NamedQueries({...})
public class MyEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ID")
    @GeneratedValue(strategy=GenerationType.SEQUENCE,
            generator="MY_TABLE_ID_SEQ")
    @SequenceGenerator(name="MY_TABLE_ID_SEQ",
            sequenceName = "MY_TABLE_ID_SEQ")
    private BigDecimal id;
...
}

IntelliJ の検査機能では、「id」に赤で下線が引かれ、「フィールド 'id' に複数の属性が設定されています」というメッセージが表示されます。

ここに画像の説明を入力

id として識別されるクラスには他の属性はありません。「id」にはゲッターとセッターがありますが、アノテーションはありません。ところで、エンティティ クラスのコードは NetBeans によって生成されたもので、動作しているようです。

どうすれば修正できますか?

4

2 に答える 2

8

これは、同じ属性に と の両方@Id@Basic注釈があるために発生するようです (簡単な修正では、どちらか一方を削除することをお勧めします)。私はJPAの専門家ではありませんが、私には有効に見えるので、おそらくIntelliJの検査のバグであり、バグトラッカーで報告する必要があります。

于 2013-03-05T16:13:08.760 に答える
3

これはバグのようです。ここでそのように報告されています: https://youtrack.jetbrains.com/issue/IDEA-129147 解決策を確認したい場合は、賛成票を投じることができます。

于 2015-02-25T19:16:06.057 に答える