12
저는 GreenDAO를 사용하여 DB 모델을 만들려고했습니다. 문제는 다른 테이블간에 둘 이상의 관계를 만들려고 할 때 시작되었습니다.GreenDAO가 테이블 간의 다중 관계를 지원합니다.
기본적으로 나는테이블, Conversation
테이블 및 User
테이블을 가지고 있습니다.
사용자에게는 메시지 목록이 있으며 메시지에는 부모 대화가 있습니다.
내가 DB 생성이 코드를 작성했습니다 :이 코드를 실행 한 후private static void addUser(Schema schema) {
user = schema.addEntity("User");
userId = user.addIdProperty().getProperty();
user.addStringProperty("facebookId").unique().index();
user.addStringProperty("firstName");
user.addStringProperty("lastName");
user.addStringProperty("fullName");
user.addStringProperty("photoUrl");
}
private static void addMessage(Schema schema) {
message = schema.addEntity("Message");
messageId = message.addIdProperty().getProperty();
message.addStringProperty("messageId").primaryKey();
message.addDateProperty("date");
message.addStringProperty("content");
message.addStringProperty("typeString");
}
private static void addConversation(Schema schema) {
conversation = schema.addEntity("Conversation");
conversation.addIdProperty();
conversation.addStringProperty("conversationId");
// REST OF THE CODE
}
private static void fakeRelationship(Schema schema) {
Property author = message.addLongProperty("author").getProperty();
Property parent = message.addLongProperty("parent").getProperty();
message.addToOne(user, author);
message.addToOne(conversation, parent);
user.addToMany(message, author);
conversation.addToMany(message, parent);
}
을,이 오류가 발생했습니다 :
Exception in thread "main" java.lang.RuntimeException: Currently only single FK columns are supported: ToOne 'parent' from Message to Conversation
at de.greenrobot.daogenerator.ToOne.init3ndPass(ToOne.java:91)
at de.greenrobot.daogenerator.Entity.init3rdPassRelations(Entity.java:557)
at de.greenrobot.daogenerator.Entity.init3ndPass(Entity.java:550)
at de.greenrobot.daogenerator.Schema.init3ndPass(Schema.java:185)
at de.greenrobot.daogenerator.DaoGenerator.generateAll(DaoGenerator.java:94)
at de.greenrobot.daogenerator.DaoGenerator.generateAll(DaoGenerator.java:79)
at com.glidetalk.dao.generator.GlideDaoGenerator.main(GlideDaoGenerator.java:27)
실제로 MEEN이 나는 이상을 만들 수 없습니다 않습니다 내 DB에 각 테이블에 대한 하나의 관계?!
모든 것을 수동으로 작성해야합니까?
이 예외는 무엇이 발생합니까? – thepoosh
greenDAO는 두 개 이상의 속성으로 구성된 FK를 처리 할 수 없습니다. –
addToOne을 사용하여 추가되는 엔티티에 id 열을 추가하는 것을 잊었을 때이 예외가 발생했습니다. – mharper