hibernate 多对多自身关联 好友系统问题
如果我想在每一个 好友-好友 对上加一个附加的属性。也就是在 中间表中加一个字段 并且将 Set<User>改成 Map<User,String>的形式
该如何做?
我在Hibernate文档中发现一个实例和我想要的结果有些相似
Example 7.11. Map key as basic type using @MapKeyColumn
@Entity
public class Customer {
@Id @GeneratedValue public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
private Integer id;
@OneToMany @JoinTable(name="Cust_Order")
@MapKeyColumn(name="orders_number")
public Map<String,Order> getOrders() { return orders; }
//如果这里的Map是<Order,String>。就是我想要的要求。。
public void setOrders(Map<String,Order> orders) { this.orders = orders; }
private Map<String,Order> orders;
}
@Entity
public class Order {
@Id @GeneratedValue public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
private Integer id;
public String getNumber() { return number; }
public void setNumber(String number) { this.number = number; }
private String number;
@ManyToOne
public Customer getCustomer() { return customer; }
public void setCustomer(Customer customer) { this.customer = customer; }
private Customer number;
}
-- Table schema
|-------------| |----------| |---------------|
| Order | | Customer | | Cust_Order |
|-------------| |----------| |---------------|
| id | | id | | customer_id |
| number | |----------| | order_id |
| customer_id | | orders_number |
|-------------| |---------------|
如果可以将上图代码中的Map<String,Order>换成Map<Order,String>。应怎么实现?
--------------------编程问答-------------------- 从你的Table Schema上看customer和order是一对多的关系啊。
推荐资料(如果你英语还行的话):
http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/persistent-classes.html
--------------------编程问答-------------------- 相关问题查阅官方文档
不过我好奇的是,你想要加入的附加属性是什么属性 --------------------编程问答--------------------
官方文档我看过了。没有找到我想要的答案
一对多只是个例子嘛,主要还是怎么让那个map的value换成key
补充:Java , Java EE