Intereting Posts
Установлено ли разделение в SQL? Найти все таблицы с полем, содержащим строковые значения xml SQL: Как получить счет каждого отдельного значения в столбце? Критерии Hibernate Query – вложенное условие Операционная переменная динамической схемы Oracle SQL SQL для заказа по номеру – 1,2,3,4 и т. Д. Вместо 1,10,11,12 Можем ли мы написать вспомогательную функцию или процедуру внутри другой хранимой процедуры – SQL Server Ошибка преобразования при преобразовании 'nvarchar' в 'datetime' в sql-сервере Искать, если число содержится в выражении типа: 1-3,5,10-15,20 Выберите count / duplicates Обновить столбец в таблице со значениями из двух других таблиц Как использовать переменные пользователя в MySQL LIKE? Sqlite объединяет базы данных в один, с уникальными значениями, сохраняя отношение foregin key Определение того, что выбор SQL возвращает асинхронно пустой набор? Linq to NHibernate генерирует несколько объединений в одну и ту же таблицу

В ormlite, как я могу иметь поле foriegn и полевой столбец?

Моя Сущность – это что-то вроде этого.

@Data public class Comment implements Persistable<Long>, CBHistoryTable { @Id private Long tid; // sid and pid is required for serialized to json @DatabaseField private Long pid; @DatabaseField private Long sid; @DatabaseField(foreign = true, foreignColumnName = "sid", columnName = "sid") private Article article; @DatabaseField(foreign = true, foreignColumnName = "pid", columnName = "tid") private Comment parent; } 

Когда я вставляю, это приведет к тому, что исключение синтаксиса SQL, Column 'sid' specified twice . В ormlite table config оба файла sid и article рассматриваются как столбец с тем же именем.

Как я могу это достичь?

РЕДАКТИРОВАТЬ

Вот моя статья

 @Data @DatabaseTable(daoClass = ArticleServiceImpl.class) public class Article implements Persistable<Long>, CBHistoryTable { @Id @SerializedName("SID") private Long sid; @SerializedName("SN") @DatabaseField private String sn; @ForeignCollectionField(foreignFieldName = "article") private Collection<Comment> comments = Sets.newHashSet(); } 

Вы меняете свой вопрос, так что последний ответ больше не работает, попробуйте это и скажите мне, если это то, что вы ищете:

 @Data public class Comment implements Persistable<Long>, CBHistoryTable { @Id private Long tid; // sid and pid is required for serialized to json private Long pid; private Long sid; @DatabaseField(canbenull = true, foreign = true, foreignColumnName = "sid") private Article article; @DatabaseField(canbenull = true, foreign = true, foreignColumnName = "tid") private Comment parent; @ForeignCollectionField(foreignFieldName = "parent") private Collection<Comment> comments = Sets.newHashSet(); public void setArticle(Article article) { this.article = article; sid=article.getSid(); } public void setParent(Comment parent) { this.parent = parent; pid=comment.getTid(); } } @Data @DatabaseTable(daoClass = ArticleServiceImpl.class) public class Article implements Persistable<Long>, CBHistoryTable { @Id @SerializedName("SID") private Long sid; @SerializedName("SN") private String sn; @ForeignCollectionField(foreignFieldName = "article") private Collection<Comment> comments = Sets.newHashSet(); }