1

在我的数据库中,有许多表具有双主键甚至三元组。我会有一个很好的要求如何在 Java 中用 ormlite 映射这样的表吗?例如:我有一个Order和Product表,还有第三个表Order_Product,加入erlier提到了两个表。在第三个表中,我有 2 个主键:order_id 和 product_id,以及一个普通字段:数量。我将非常感谢您解释这个问题(一些例子)。PS对不起我的英语。

我读过我应该使用 uniqueCombo、useGetSet 之类的属性,但我不知道该怎么做。而且我不知道我是否可以对这些主要字段使用外部注释。

``` def class Order:
@DatabaseTable(tableName = "Orders")
public class Order{

    public Order(){}

    @DatabaseField(generatedId = true)
    private int id;

    @DatabaseField(columnName = "Date", canBeNull = false)
    private Date date;

    public int getId() { return id; }
    public void setId(int id) { this.id = id; }

    public Date getDate() { return date; }
    public void setDate(Date date) { this.date = date; }
}
@DatabaseTable(tableName = "Products")
public class Product{

    public Product(){}

    @DatabaseField(generatedId = true)
    private int id;

    @DatabaseField(columnName = "Name", canBeNull = false)
    private String name;

    public int getId() { return id; }
    public void setId(int id) { this.id = id; }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}
@DatabaseTable(tableName = "Order_Products")
public class Order_Product{

    public Order_Product(){}

    @DatabaseField(id = true, uniqueCombo=true)
    private int order_id;

    @DatabaseField(id = true, uniqueCombo=true)
    private int product_id;

    @DatabaseField(columnName = "Quantity", canBeNull = false)
    private int quantity;

    public int getOrder_id() { return order_id; }
    public void setOrder_id(int order_id) { this.order_id = order_id; }

    public int getProduct_id() { return product_id; }
    public void setProduct_id(int product_id) { this.product_id = product_id; }

    public int getQuantity() { return quantity; }
    public void setQuantity(int quantity) { this.quantity = quantity; }
}
4

0 回答 0