Идентификатор объекта, полученного JPA, отсутствует - PullRequest
4 голосов
/ 07 октября 2011

У меня есть простой объект с полем целочисленного идентификатора в следующем виде:

@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.

1 Ответ

3 голосов
/ 07 октября 2011

Это известная ошибка при расширении с использованием плагина eclipse. Я настоятельно рекомендую использовать другой метод построения времени улучшение . Не стесняйтесь задавать дополнительные вопросы в список рассылки пользователей OpenJPA.

...