gpt4 book ai didi

java - 如何在Spring数据查询中获取instanceof对象

转载 作者:行者123 更新时间:2023-12-01 10:08:20 25 4
gpt4 key购买 nike

我有一个 Item

@Getter
@Setter
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Item {
@Id
private Long id;
private String name;
}

接下来的两个类是 Item

的子类
@Getter
@Setter
@Entity
public class RawMaterial extends Item {
private String supplier;
}

@Getter
@Setter
@Entity
public class Product extends Item {
private BigDecimal salePrice;
}

我还有一个 Inventory 类,其中包含 Item 作为字段

@Getter
@Setter
@Entity
public class Inventory {
@Id
private Long id;

@ManyToOne
private Item item;
}

我的问题是如何获取实例 item 字段。与dtype有什么关系吗?

public interface InventoryDao extends JpaRepository<Inventory,Long> {

@Query("FROM Inventory WHERE item instance of ?1")
public List<Inventory> getInventoryByItem(Class klazz);

}

我需要做类似的事情

List<Inventory> list = getInventoryByItem(Product.class);

最佳答案

我自己解决了。

public interface InventoryDao extends JpaRepository<Inventory,Long> {

@Query("FROM Inventory WHERE TYPE(item.class) = ?1")
public List<Inventory> getInventoryByItem(Class<? extends Item> klazz);

}

关于java - 如何在Spring数据查询中获取instanceof对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36315298/

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