我有一个应用程序使用JDBC访问现有MySQL数据库并转换为JPA。我的数据库已经设置了自动生成的主键。我是否需要注释我的实体类w / @ Id,@GeneratedValue ...这已经在DB中定义了吗?注释是否会覆盖/已与已定义的DB主键/索引冲突?
答案 0 :(得分:2)
它不会与数据库主键和JPA注释发生冲突。因为主键已经被编入索引,所以它根本不是问题。
您应该在实体类中添加注释。它不会与已定义的DB冲突。如果您在新的数据库环境中部署系统,则必须注释。
答案 1 :(得分:0)
我假设您在MySQL中使用自动编号,这些是自动生成的。
以下代码将满足您的需求:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "table_id")
请注意GenerationType.IDENTITY
策略?这告诉JPA使用自动生成的数据库值。