JPA 2.0(即Hibernate 3.5及更高版本)引入了对将三元关系建模为
Maps
的支持。例如,您可以执行以下操作(尽管我不确定如果需要双向关系该如何处理另一端):
public enum MessageStatus { READ, UNREAD }public class User { ... @ElementCollection @CollectionTable(name = "MessagesToUsers", joinColumns = @JoinColumn(name = "userId")) @Column(name = "messageStatus") @MapKeyJoinColumn(name = "messageId") private Map<Message, MessageStatus> messages = new HashMap<Message, MessageStatus>(); ...}


