【发布时间】:2011-12-02 22:11:56
【问题描述】:
我有一个带有整数 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 字段的值。
我在 MS SQL Server 2008 中使用 OpenJPA。MS sqljdbc 驱动程序和 JTDS 驱动程序都经过测试。
【问题讨论】: