Hibernate случайным образом генерирует столбцы времени joda в моей базе данных в виде крошечных шариков - PullRequest
3 голосов
/ 15 апреля 2011

У меня немного странная ситуация, и я не могу этого понять.

У меня есть набор классов аннотированных сущностей Hibernate, в которых есть поля даты и времени Jodatime. Когда hibernate генерирует мою схему, некоторые поля даты и времени правильно настроены как столбцы DateTime в MySQL, а другие - как крошечные капли. Я использую библиотеку Usertype, чтобы сделать свое отображение типов для себя, но я попробовал это с библиотекой joda-time-hibernate, и я получил тот же результат. Странно то, что все эти столбцы идентичны так, как они объявлены в моем коде, например

Этот генерирует крошечный шарик вместо даты:

@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime respondedTime;

Но этот в другом классе правильно генерирует столбец даты и времени:

@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime date;

Так что мне было интересно, сталкивался ли кто-нибудь с кем-то с подобным или они знали, как обеспечить, чтобы Hibernate генерировал столбцы DateTime для моих полей datetime.

Если это имеет какое-то значение, я использую пользовательскую версию 1.8 и jodatime версию 1.6 с hibernate 3.6.0.Final

Ответы [ 2 ]

2 голосов
/ 15 апреля 2011

Это происходит, если Hibernate не может найти тип пользователя для столбца или , когда реализация UserType считает, что не может обработать тип.

Так что либо естьтип параметра или ошибка в UserType или DateTime - это другой тип в двух местах.

Чтобы избежать опечаток, я предлагаю использовать @TypeDefs для создания более читаемых имендля типов пользователей.

См. это сообщение в блоге .

0 голосов
/ 27 апреля 2011

Как упомянул @jthalbom в комментариях, это оказалось проблемой classpath.Я вычистил банки, которые были загружены на мой classpath и вуаля, проблема решена!

...