Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 缺少JPA检索到的对象的id_Java_Jpa_Openjpa - Fatal编程技术网

Java 缺少JPA检索到的对象的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字段的简单对象,如下所示:

@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用户邮件列表中发布其他问题。

谢谢你,瑞克。答案很有帮助。