java - 使用 Hibernate 多对多连接表中再添加一列

标签 java hibernate orm many-to-many

我如何映射这样的结构 db model http://imagepost.ru/images/186/oefb4v6.png 进入

class A{
    Map<SomeEnum, B> foo;
}

其中 foo 中的键是 a_ has _b角色的表示?

谢谢!

最佳答案

如果您想要表列中的枚举常量的名称:

<hibernate-mapping ...>
...
  <typedef name="role" class="org.hibernate.type.EnumType">
    <param name="enumClass">SomeEnum</param>
    <param name="type">12</param>
  </typedef>
...
  <class name="A" table="a">
...
    <map name="foo" table="a_has_b">
      <key column="a_id"/>
      <map-key type="role" length="20" column="role"/>
      <many-to-many class="b" column="b_id"/>
    </set>
...
  </class>
...
  <class name="B">
...
  </class>
...
</hibernate-mapping>

关于java - 使用 Hibernate 多对多连接表中再添加一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3422114/

相关文章:

java - Java中行为接口(interface)类型的引用变量

hibernate - 使用 Hibernate 让我的 webapp 与数据库无关

java - Hibernate ORM - 支持 Java 1.8 实体属性可选

indexing - 如何在 GUI 中获取 Hibernate Lucene 索引创建的统计信息?

java - hibernate + PostgreSQL : Null boolean value being returned as 'true'

php - 如何在 Propel 中使用 MySQL 函数

Java 意外类型错误

java - : and code do in java? 的语法是什么

java - 从 matlab 调用 java 类

spring - 使用 Spring MVC 和 Hibernate 4.2.0.Final 的 Multi-Tenancy Web 应用程序