我想知道是否可以使用注解来使用JPA2持久化以下类中的attributes
映射。
public class Example {
long id;
// ....
Map<String, String> attributes = new HashMap<String, String>();
// ....
}
由于我们已经有了一个现有的生产数据库,因此理想情况下,attributes
的值可以映射到以下现有的表:
create table example_attributes {
example_id bigint,
name varchar(100),
value varchar(100));
Map<String,SomeOtherClass>
的示例。 - L. Holandaexample_attributes
应该有一个复合主键(example_id, name)
- 这也是根据上述代码由hbm2ddl
生成的。 - James BassettSpecified key was too long; max key length is 767 bytes
的错误。它试图创建的主键是varchar(255)和@JoinColumn组合,超过了默认列大小。你需要改变你的数据库或修改@MapKeyColumn来提供长度:@MapKeyColumn(name="name", length=100)
。 - Jon