我第一次使用SugarORM,我有一个简短的问题。如何将一个实体设置为主键?例如,我需要这样的东西:
public class Student{
@PrimaryKey
private String studentId;
private String name;
}有可能吗?谢谢。
发布于 2016-01-22 18:53:27
目前无法指定主键。但是,从糖1.4开始,有一个选项可以使用@Unique属性(https://github.com/satyan/sugar#sugarrecord):
public class Book extends SugarRecord {
@Unique
String isbn;
String title;
String edition;
/*...*/
public Book(String isbn, String title, String edition) {
this.isbn = isbn;
this.title = title;
this.edition = edition;
}
}它不是主键,但在许多情况下它执行类似的工作(https://github.com/satyan/sugar#update-entity-based-on-unique-values):
Book book = new Book("isbn123", "Title here", "2nd edition")
book.save();
// Update book with isbn123
Book sameBook = new Book("isbn123", "New Title", "5th edition")
sameBook.update();
book.getId() == sameBook.getId();发布于 2015-10-04 11:22:59
显然你不能用糖ORM做这个。他们网站上的文档没有提到主键,甚至没有这样的注释。您应该考虑改用OrmLite,这是我个人推荐的,而且众所周知,它可以很好地使用安卓系统。
orm.shtml
发布于 2017-06-01 18:10:36
我太努力了。
最后,我得到了答案.
Book.deleteAll(Book.class);
book=new Book(user, pass);
book.setId(Long.valueOf(book.listAll(Book.class).size()));
book.save();此代码类似于删除和重新创建table.and重置id。重要:在工作中,糖或在安卓工作室必须禁用即时运行。祝好运
https://stackoverflow.com/questions/32932808
复制相似问题