Java Hibernate是映射字段

Java Hibernate是映射字段,java,mysql,spring,hibernate,Java,Mysql,Spring,Hibernate,问题:无法将值插入存储库,因为表关系未正确生成 我有一个h2 sql server,使用spring引导和hibernate构建表。在创建过程中,创建的表比预期的少。在创建过程中,它将Customer\u foos、StockItems\u foos和Employees\u foos分组到一个表中。这些列仍然在“表”中分配,就好像它们仍然是分开的一样 e、 g.{ 表四 | table_name not null varchar | Customer_foos_id not null Integ

问题:无法将值插入存储库,因为表关系未正确生成

我有一个h2 sql server,使用spring引导和hibernate构建表。在创建过程中,创建的表比预期的少。在创建过程中,它将Customer\u foos、StockItems\u foos和Employees\u foos分组到一个表中。这些列仍然在“表”中分配,就好像它们仍然是分开的一样

e、 g.{ 表四

| table_name not null varchar | Customer_foos_id not null Integer | Customer_foos_key not null varchar | StockItems_foos_id not null Integer | StockItems_foos_values varchar | ...
与期望值相比,每个映射都有自己的表。这将避免输入空值时出现错误:

表\u客户\u foos

| table_name not null varchar | Customer_foos_id not null Integer | Customer_foos_key not null varchar | 
和表(库存物品)(食品)

| table_name not null varchar | StockItems_foos_id not null Integer | StockItems_foos_key varchar |
}

这些表的设置非常简单,主要实体设置为

@Entity
public class table{
    @Id
    @NonNull
    public String 
        Name;

    @OneToMany(cascade= CascadeType.ALL)
    @Nullable
    public Map<String, Foo>
        Customer_foos,
        StockItems_foos,
        Employees_foos;

    ...
}

Spring 1.4.5和默认依赖项。

我能够通过为每个映射字段创建一个实体包装来避免这一问题,然后Hibernate为每个映射字段创建一个新表

我不认为这是一个正确的答案,但它有效。

因此

@Entity
public class Customer_Foos extends Map<String, Foo>{
    ...
}
@实体
公共类Customer\u Foos扩展映射{
...
}
@Entity
public class Customer_Foos extends Map<String, Foo>{
    ...
}