【发布时间】:2011-10-20 07:00:42
【问题描述】:
似乎在我所见的任何地方,都有过时的版本不再起作用。 我的问题似乎很简单。我有一个 Java 类,它映射到一个 derby 数据库。我正在使用注释,并成功地在我的数据库中创建了所有其他表,但是在这个特定的示例中,我只需要一个不使用任何其他类的 Map,只需要两个简单的字符串值。我在尝试在网上找到的所有内容时遇到了所有类型的错误。
有没有人知道不使用过时注释的简单方法?
提前致谢!
【问题讨论】:
似乎在我所见的任何地方,都有过时的版本不再起作用。 我的问题似乎很简单。我有一个 Java 类,它映射到一个 derby 数据库。我正在使用注释,并成功地在我的数据库中创建了所有其他表,但是在这个特定的示例中,我只需要一个不使用任何其他类的 Map,只需要两个简单的字符串值。我在尝试在网上找到的所有内容时遇到了所有类型的错误。
有没有人知道不使用过时注释的简单方法?
提前致谢!
【问题讨论】:
Hibernate Annotations 文档的Chapter 2.2.5.3.4 描述了必要的注释。您需要执行以下操作:
@Entity
public class MyEntity {
...
@ElementCollection // this is a collection of primitives
@MapKeyColumn(name="key") // column name for map "key"
@Column(name="value") // column name for map "value"
public Map<String,String> getMyMap() {
...
}
【讨论】:
@MapKeyColumn而不是@MapKey,后者在key是value的属性时使用。