Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HashMap键作为另一个实体的id和值_Java_Spring_Hibernate_Spring Boot_Hashmap - Fatal编程技术网

Java HashMap键作为另一个实体的id和值

Java HashMap键作为另一个实体的id和值,java,spring,hibernate,spring-boot,hashmap,Java,Spring,Hibernate,Spring Boot,Hashmap,可以将键的内部类标记为Id,将值的内部类标记为另一个表吗?例如,我希望有两个表: Keys (table 1) id | name 1 | Some name Values (table 2) id | street | key_id |... 1 | some street | 1 |... 但我想用地图。所以这些对象看起来像: @Entity public class Key { //@??? //@OneToMany

可以将键的内部类标记为Id,将值的内部类标记为另一个表吗?例如,我希望有两个表:

Keys (table 1)
id   | name      
1    | Some name 

Values (table 2)
id   | street      | key_id |...
1    | some street | 1      |...
但我想用地图。所以这些对象看起来像:

@Entity
public class Key {
    //@???
    //@OneToMany (?)
    Map<KeyKey, Value> map;
}

//@Entity (?)
public class KeyKey {
    @Id @GeneratedValue
    public Long id;
    public String name;
}

@Entity
public class Value {
    @Id @GeneratedValue
    private Long id;
    private String street;
    //@ManyToOne (?)
    private Key key;
    ...
}
@实体
公开类密钥{
//@???
//@一家公司(?)
地图;
}
//@实体(?)
公共类密钥{
@Id@GeneratedValue
公共长id;
公共字符串名称;
}
@实体
公共阶级价值{
@Id@GeneratedValue
私人长id;
私家弦街;;
//@多酮(?)
私钥;
...
}
当然包括了接球手和二传手

使用spring/hibernate的注释是如何做到这一点的?这是否得到支持?我试图找到解决办法,但没有一个能真正解决问题。我们需要贴图的原因是,真实场景有多个贴图层(将对象映射到另一个到另一个…),因此最终允许我们无需迭代即可快速钻取到所需的对象

对不起,如果有什么东西让人困惑,如果是的话,问我,我会纠正这个问题


另外,我的命名策略显然是完美的

你可以试试。此外,如果每个值只有一个键实体,并且两个键永远不可能相同,那么您不需要
@manytone
,但为什么要让值指向地图?它应该指向
KeyKey
,因为这是您要映射的值to@XtremeBaumer非常感谢,我会查的!你可以试试。此外,如果每个值只有一个键实体,并且两个键永远不可能相同,那么您不需要
@manytone
,但为什么要让值指向地图?它应该指向
KeyKey
,因为这是您要映射的值to@XtremeBaumer非常感谢,我会查的!