创造实体类的时候必须写入默认(无参)构造器

对于user对象创建实体类
@Entity
public class User {
@PrimaryKey
public String id;

@SecondaryKey(relate=MANY_TO_ONE)
public  String name;
//即使这里有构造器了也要加入默认构造器()
    public User(String id,String name){
      id="1";
        name=name;

    }
//必须重构默认构造器,即使上面有构造器,如果这个没有的话会出现
//java.lang.IllegalArgumentException: No default constructor:
//useBase.User
    public User(){
      id="";
        name="";
    }


}




实体类在通过Accessor的时候会被je检查,底层是通过checkAccessorClass();
如果实体类少了@Entity就会报查找不到,
public FileULDA(EntityStore store, Class<?> class1) throws DatabaseException {
//super(store,class1);
id = store.getPrimaryIndex(String.class, class1);
name = store.getSecondaryIndex(id,String.class, "name");

}
如果没有默认构造器,这里就不能通过class1去构造对象了

猜你喜欢

转载自wjg-java.iteye.com/blog/1756915