我用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;我相信应该是这样,但我担心这个信息 - 有什么我应该做的,以使其工作?
它会抛出错误:
Exception Description: Entity class [class kwestionariusz.manager.View2] has no primary key specified. It should define either an @Id, @EmbeddedId or an @IdClass. If you have defined PK using any of these annotations then make sure that you do not have mixed access-type (both fields and properties annotated) in your entity class hierarchy.
我认为这是第二种情况......但是如何正确使用?