【发布时间】:2015-10-21 10:49:31
【问题描述】:
我在数据库中有 3 个表。
第一个(categories)包括:id、category、isactive
第二个(菜单)包括:parentid 和 childid。
第三个(项目)包括:id、name 和 price。
第一个表与第二个表有关系。我现在想做第二个和第三个之间的关系。
第二个表在数据库中有这些值:
- 7(id), book1(name), 120(price)
- 7(id), book2(name), 100(price)
- 8(id), car1(name), 1620(price)
- 8(id), car2(name), 520(price)
- 8(id), car3(name), 5520(price)
- 9(id), house1(name), 10000(price)
- 9(id), house2(name), 11000(price)
- 9(id),house3(名称),15000(价格)
目前我已将列 childid 加入列 id。
菜单.java
@EmbeddedId MenuId id;
@Column(name="PARENTID")
private Integer parentid;
@Column(name="CHILDID")
private Integer childid;
@OneToOne
@JoinColumn(name="CHILDID",referencedColumnName="ID")
private Categories subcategories;
public Categories getSubcategories() {
return this.subcategories;
}
public void setSubategories(Categories subcategories) {
this.subcategories = subcategories;
}
@OneToOne
@JoinColumn(name="PARENTID", referencedColumnName="ID")
private Categories categories;
public Categories getCategories() {
return this.categories;
}
public void setCategories(Categories categories) {
this.categories = categories;
}
@OneToOne
@JoinColumn(name="CHILDID",referencedColumnName="ID")
private Items items;
public Items getItems() {
return this.items;
}
public void setItems(Items items) {
this.items = items;
}
Items.java 也没有修改为 subcategories.java
我正在使用 json 对象来打印我的值:
jsonObject.put("parentid", menu.getParentid());
jsonObject.put("childid", menu.getChildid());
jsonObject.put("categories", menu.getCategories().getCategory());
jsonObject.put("subcategories", menu.getSubcategories().getCategory());
jsonObject.put("itemid", menu.getItems().getId());
jsonObject.put("product", menu.getItems().getProduct());
jsonObject.put("brand", menu.getItems().getBrand());
jsonObject.put("sum", menu.getItems().getSum());
它有效,但它在我的项目中并不像我想象的那样有效。它只打印相同的值:
- 7(id), book1(name), 120(price)
- 7(id), book1(name), 120(price)
- 8(id), car1(name), 1620(price)
- 8(id), car1(name), 1620(price)
- 8(id), car1(name), 1620(price)
- 9(id), house1(name), 10000(price)
- 9(id), house1(name), 10000(price)
- 9(id), house1(name), 10000(price)
等等...但不是这个:
- 7(id), book1(name), 120(price)
- 7(id), book2(name), 100(price)
- 8(id), car1(name), 1620(price)
- 8(id), car2(name), 520(price)
- 8(id), car3(name), 5520(price)
- 9(id), house1(name), 10000(price)
- 9(id), house2(name), 11000(price)
- 9(id),house3(名称),15000(价格)
所以我的问题是我应该使用@OneToMany 方法吗?还是我做错了?
【问题讨论】:
-
说实话,我真的不明白你想要达到什么目的。你能提供更多细节吗?也许包括你所问的课程?
标签: java jquery mysql database jpa