Ормлит друг из ManyToOne JoinColumn Annotation не обрабатывается
-
25-10-2019 - |
Вопрос
Я возился с Ormlite на Android. Это первые дни, и пока мне действительно нравится то, что я видел.
Читая руководство, я заметил возможность использовать javax.persistence
Аннотация вместо дефолта. При попытке определить @ManyToOne
Отношения я немного отталкиваю. Обычно я использую @JoinColumn(name="xxx")
определить имя столбца с помощью @ManyToOne
, т.е. не @Column(name="xxx")
. Анкет Я прав, или я должен смотреть на это по -другому.
Я быстро посмотрел и подумал несколько небольших дополнений к com.j256.ormlite.misc.JavaxPersistence.java
решит эту проблему. В основном дублирование кода для обработки @Column
вместо этого обрабатывать @JoinColumn
(Может быть, без «длины»).
Это также заставило меня задуматься о том, есть ли проблемы с использованием как стандартных аннотаций Ormlite, так и javax.persistence
и Вопросы, как:
- Стандартные аннотации имеют приоритет?, И
- Может ли обработка
javax.persistence
аннотации отключены?
Решение
К сожалению @user928550, javax.persistence
аннотации не полностью поддерживаются Ормлит. Анкет Ограниченная поддержка для них определена в руководстве:
Я был бы рад улучшить их поддержку, если вы хотите внести предложения о том, как продолжить. Пожалуйста, используйте список рассылки разработчиков Ormlite, чтобы предложить свои дополнения:
В ответ на вас конкретные вопросы, существование @DatabaseField
Аннотация переопределяет любое javax.persistence
обработка аннотаций, и вы не можете отключить обработку javax.persistence
(Если вы не указаете @DatabaseField
).