Мы используем ссылку источника, чтобы включить генерируемые спящие бобы в веб-проект j2ee в eclipse. У нас есть включенный проект, который включает в себя различные коммунальные услуги и услуги и т. Д. Из основного проекта.@ Развертывания Version в веб-проекте
Когда мы импортируем наши бобы в проект утилиты, фасоль импортирует штраф. У них есть спящий режим 4.3 в них и hibernate-jpa 2.1 jar. НО, когда я импортирую те же самые компоненты модели в основной проект, вместо аннотации @Version получаются ошибки компиляции. В нем написано:
JSR 220: Java Persistence API, 9.1.17: Поддерживаются только следующие типы свойств версии: int, Integer, short, Short, long, Long, Timestamp.
Код:
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "UPDT_TMSTMP", nullable = false)
@Version
private Date updateTimestamp;
Который, как я уже говорил, прекрасно работает при импорте в простой проект Java, но при импорте в вебе-модуль (мы пробовали пару) он получает эту ошибку. Текст ошибки, кажется, говорит о том, что мы не можем использовать java.util.Date для типа свойства, но опять же, мы использовали его раньше, когда импортировали в проекты утилиты.
Мы не в состоянии объяснить, почему разница между проектом утилиты и веб-модулем. Мы хотим, чтобы это было в веб-модуле, потому что мы хотим иметь возможность перемещать эти служебные модули, не импортируя одни и те же модельные компоненты несколько раз.
Любые идеи? Даже пути расследования были бы лучше, чем у нас сейчас. Мы поражаем.
Вы уверены, что это ошибка компиляции, а не ошибка в плагине Eclipse (например, плагин JPA)? Компилятору Java не важно, какой тип поля имеет аннотация. Поэтому, скорее всего, ошибка возникает из плагина интеграции JPA, что может быть вызвано неправильным настроенным пути сборки (т. Е. Если JPA установлена в более старую версию, как в другом проекте). – dunni
Вы пытались использовать java.sql.Date вместо java.util.Date? Вы также можете проверить, настроена ли ваша база данных для хранения метки времени с точностью до миллисекунды. – fg78nc
Вы также можете попробовать использовать java.sql.Timestamp – fg78nc