一、复杂表结构
a, 使用 @ToOne 建立一对一 ( 1 : 1) 关系
@Entity
public class Order {
@Id
private Long id;
private long customerId;
@ToOne(joinProperty = "customerId")
private Customer customer;
}
@Entity
public class Customer {
@Id
private Long id;
}
b,使用 @ToMany 建立一对多 (1:N ) 关系
@Entity
public class Customer {
@Id
private Long id;
@ToMany(referencedJoinProperty = "customerId")
@OrderBy("date ASC")
private List<Order> orders;
}
@Entity
public class Order {
@Id
private Long id;
private Date date;
private long customerId;
}
c, 使用@JoinEntity 建立多对多(N : M)关系
@Entity
public class Product {
@Id
private Long id;
@ToMany
@JoinEntity(
entity = JoinProductsWithOrders.class,
sourceProperty = "productId",
targetProperty = "orderId"
)
private List<Order> ordersWithThisProduct;
}
@Entity
public class JoinProductsWithOrders {
@Id
private Long id;
private Long productId;
private Long orderId;
}
@Entity
public class Order {
@Id
private Long id;
}
二、自定义类型
1,GreenDao 默认支持的类型有
boolean, Boolean
int, Integer
short, Short
long, Long
float, Float
double,