Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 JPA:是否可以根据字段在其中一个字段中的值,通过更多表映射两个实体之间的两个关系?_Java_Jpa - Fatal编程技术网

Java JPA:是否可以根据字段在其中一个字段中的值,通过更多表映射两个实体之间的两个关系?

Java JPA:是否可以根据字段在其中一个字段中的值,通过更多表映射两个实体之间的两个关系?,java,jpa,Java,Jpa,提出这个问题的想法如下: 每个用户都有一个活动购物车和已购买/最终确定购物车的历史记录 我知道我的方法可能存在逻辑/推理上的缺陷,所以我基本上只是在问这是否可行:是否可以为包含状态字段中具有特定值的Cart的Cart列表设置两个单独的表?我希望购物车在状态处于活动状态时位于某个表中,并在完成后移动到另一个表中 @Entity @Table(name = "users") class User{ @Id private Long id;

提出这个问题的想法如下:

每个用户都有一个活动购物车和已购买/最终确定购物车的历史记录

我知道我的方法可能存在逻辑/推理上的缺陷,所以我基本上只是在问这是否可行:是否可以为包含状态字段中具有特定值的Cart的Cart列表设置两个单独的表?我希望购物车在状态处于活动状态时位于某个表中,并在完成后移动到另一个表中

    @Entity
    @Table(name = "users")
    class User{
        @Id
        private Long id;
        @OneToOne
        private ShoppingCart activeCart;
        @OneToMany
        private List<ShoppingCart> shoppingCartHistory;
           //getters setters
    }
    @Entity
    @Table(name = "carts")
    class ShoppingCart{
        @Id
        Long id;
        private List<String> items;
        private String status;
        //getters setters
    }
@实体
@表(name=“users”)
类用户{
@身份证
私人长id;
@奥内托内
私人购物车;
@独身癖
私人列表购物记录;
//吸气剂二传手
}
@实体
@表(name=“carts”)
类购物车{
@身份证
长id;
私人清单项目;
私有字符串状态;
//吸气剂二传手
}

为什么不为每个用户提供一个购物车,以及一个完成订单的
订单列表
。老实说,我们已经认为将历史项目作为订单对象分开会更好,但我只是好奇我上面问的是否可能。不确定是否有人会需要它,但我真的找不到一个关于它是否可行的答案。您希望维护一个
状态
字段,并在单独的表中保留具有不同状态的
购物车
?你不认为那是多余的吗?只需创建一个额外的
@OneToMany private List completed ShoppingCarts
字段,并在状态更改时在两个集合之间移动
ShoppingCarts