我已经用 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;
我相信应该是这样,但我担心这个信息——我应该做些什么来让它发挥作用吗?
它抛出错误:
异常描述:实体类 [class kwestionariusz.manager.View2] 没有指定主键。它应该定义@Id、@EmbeddedId 或@IdClass。如果您使用这些注释中的任何一个定义了 PK,请确保您的实体类层次结构中没有混合访问类型(已注释的字段和属性)。
我认为这是第二种情况……但是如何正确处理呢?