MySQL Workbenchを使用してMySQLデータベースを作成し、次にMySQL JDBC DriverとEclipseLinkライブラリを追加して、データベースからエンティティクラスを作成しました。すべてNetBeansを使用します。ビューとすべてのマージのために、単純な「id」列名の使用を辞任する必要がありました。「id」->「TableNameId」のようにすべての名前を変更する方が簡単でした。エンティティクラスの作成中に、すべてのエンティティのIDを手動で設定する必要があるというメッセージが表示されました。どうやってするか?すべてのテーブルには、TableName.javaファイルとTableNamePK.javaファイルがあります。
TableNamePK.javaファイルには次のような行があります。
@EmbeddedId
protected AdministratorsPK administratorsPK;
TableNamePK.javaファイル内のそのような行:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "UserId", nullable = false)
private Integer userId;
それでいいと思いますが、メッセージが気になります。それを機能させるために何かしなければならないことはありますか?
エラーとしてスローされます:
例外の説明:エンティティクラス[classkwestionariusz.manager.View2]に主キーが指定されていません。@ Id、@ EmbeddedId、または@IdClassのいずれかを定義する必要があります。これらのアノテーションのいずれかを使用してPKを定義した場合は、エンティティクラス階層にアクセスタイプ(フィールドとプロパティの両方にアノテーションが付けられている)が混在していないことを確認してください。
私はそれが2番目のケースだと思います...しかしそれを正しくする方法は?