gpt4 book ai didi

java - 具有接口(interface)的 Hibernate OneToMany

转载 作者:行者123 更新时间:2023-11-30 06:24:31 25 4
gpt4 key购买 nike

目前我遇到的问题是,我需要具有相同接口(interface)的不同对象的 OneToMany ArrayList

例如:

@Entity
@Table(name = "store")
public class Store {
@OneToMany(mappedBy = "store")
private List<Product> allProducts;
}

public interface Product {
String getProductCode();
}

@Entity
@Table(name = "car")
public class Car implements Product{
int wheels;
}

@Entity
@Table(name = "computer")
public class Computer implements Product{
String cpu;
}

我只是希望通过实现 Product 接口(interface)来轻松添加其他产品。但是 hibernate 给了我这个错误:'One To Many'属性值类型不应该是'Product'

我发现了一些关于这个问题的帖子,但它们已经很老了(5 年或更老)。他们最终都认为这在当时是不可能的。

Hibernate 在过去 5 年中是否添加了任何功能来解决这个问题,或者是否有其他好的方法可以在同一个 OneToMany 关系中添加多个对象?我不想每次添加新产品时都更新我的 Store 类。

最佳答案

Did hibernate add any functionality in the last 5 years to solve this problem or are there any other good ways of adding multiple objects in the same OneToMany relation? I don't want to update my Store class every time I add a new product.

我认为满足您需求的最佳方法是将提升 Product 为实体(或至少使其成为映射的父类(super class))。无论如何,@Any注释可以帮助您解决这种情况,它用于建模多态关联。

关于java - 具有接口(interface)的 Hibernate OneToMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47476205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com