我有一个带有整数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驱动程序。