Наследование? Нет.
Даже если предположить, что у вас есть фактическая сущность домена, которая состоит из первых трех полей в вашем списке и Inventory
расширила бы ее, любой запрос, который вы сделали бы против этой сущности, неизбежно загрузил бы все поля (через соединение, если сопоставлено в другую таблицу) из-за неявного полиморфизма.
Что вы можете сделать, так это отобразить 4-е и 5-е свойства как "ленивые"; Ваш JPA-провайдер должен будет использовать инструментарий байт-кода, чтобы сделать это:
@Basic(fetch = FetchType.LAZY)
private Integer unitssold;
@Basic(fetch = FetchType.LAZY)
private String ourcomment;
Вам нужно будет указать fetch all properties
в запросах, где вам нужно получить все; другие не будут получать значение свойства до первого обращения.
Если честно, такой подход оправдан, только если ваши запросы возвращают большие наборы результатов, а "ленивые" свойства сами по себе довольно велики (например, я бы не стал делать это только для Integer
; String
может быть осуществимо, если это может стать длинным)