当前位置:编程学习 > JAVA >>

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
--------------------编程问答-------------------- 相关问题查阅官方文档
不过我好奇的是,你想要加入的附加属性是什么属性 --------------------编程问答--------------------
引用 1 楼 panzhixiong_cn 的回复:
从你的Table Schema上看customer和order是一对多的关系啊。
推荐资料(如果你英语还行的话):
http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/persistent-classes.html

官方文档我看过了。没有找到我想要的答案
一对多只是个例子嘛,主要还是怎么让那个map的value换成key
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,