#java #jpa #openjpa
#java #jpa #openjpa
Вопрос:
У меня есть простой объект с целочисленным полем идентификатора следующим образом:
@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 может быть получено правильно, как и все другие поля.
Я использую OpenJPA с MS SQL Server 2008. Тестируются как драйвер MS sqljdbc, так и драйвер JTDS.
Ответ №1:
Это известная ошибка при улучшении с помощью плагина eclipse. Я бы настоятельно рекомендовал использовать другой метод увеличения времени сборки. Не стесняйтесь отправлять дополнительные вопросы в список рассылки пользователей OpenJPA.
Комментарии:
1. Спасибо, Рик. Ответ очень помог.