Java 缺少JPA检索到的对象的id
我有一个带有整数id字段的简单对象,如下所示:Java 缺少JPA检索到的对象的id,java,jpa,openjpa,Java,Jpa,Openjpa,我有一个带有整数id字段的简单对象,如下所示: @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(unique = true, nullable = false) private int id; 对象可以正确地持久化到数据库中。但是,通过以下方式从数据库检索对象时: EntityManagerFactory emFactory = Persistence.createEntityManagerFactory("MyS
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(unique = true, nullable = false)
private int id;
对象可以正确地持久化到数据库中。但是,通过以下方式从数据库检索对象时:
EntityManagerFactory emFactory = Persistence.createEntityManagerFactory("MyService");
EntityManager entityManager = emFactory.createEntityManager();
MyObject myObject = entityManager.find(MyObject.class, 1);
entityManager.close();
检索到的对象的id字段始终为零,但所有其他字段的值都被正确检索
如果我从代码中删除@Id注释,Id字段的值可以像所有其他字段一样正确检索
我将OpenJPA与MS SQL Server 2008一起使用。MS sqljdbc驱动程序和JTDS驱动程序都经过了测试。这是使用eclipse插件进行增强时的一个关键步骤。我强烈建议使用另一种构建时方法。请随时在OpenJPA用户邮件列表中发布其他问题。谢谢你,瑞克。答案很有帮助。