@Any(metaColumn = Column(name = "vehicleType"))
@AnyMetaDef(idType = "long", metaType = "string",
metaValues = []
)
@JoinColumn(name = "vehicleId")
var vehicle: Vehicle
Когда я использую этот фрагмент кода, данные, сохраненные в таблице базы данных, выглядят так:
vehicle_type | vehicle_id
com.example.Bus | 10
com.example.Truck | 15
Я хотел бы иметь Bus
и Truck
( без пакета префикс ) для сохранения в базе данных.
@Any(metaColumn = Column(name = "vehicleType"))
@AnyMetaDef(idType = "long", metaType = "string",
metaValues = [
MetaValue(targetEntity = Bus::class, value = "Bus"),
MetaValue(targetEntity = Truck::class, value = "Truck")
]
)
@JoinColumn(name = "vehicleId")
var vehicle: Vehicle
Я могу сделать что-то подобное, и это даст мне точный результат, как и ожидалось.
Но это тесно связано. Мне нужно go и менять MetaDef каждый раз, когда я представляю новый автомобиль. Я предпочитаю сделать определение независимым от связанных классов.
Мои вопросы:
- Есть ли возможность сопоставить целевую сущность с ее simpleName?
- Есть ли возможность переопределить
::class
для моего автомобиля?