mercredi 15 mai 2019

How to store Enum class name and enum value in database

I have a class with different enums, for example:

class EligibilityRule{
ProductEligibility productEligibility;
CountryEligibility countryEligibility
}

enum ProductEligibility{
PRODUCT_X,
PRODUCT_Y
}

enum CountryEligibility{
US,
IN,
CN
..
}

I want to store these different enum class name and their value to database table called eligibility rule, and my table schema looks likes this,

String id  => auto_increment id
String ruleType => enum class name (ex: ProductEligibility)
String ruleValue => enum value (ex: PRODUCT_X)

I am using JOOQ, in the past I had used forced type to just store the enum value. But, in this case I want to store enum class name and enum value. I also want to reconstruct the enum object when I query the records from db.

Are there any patterns I can follow or is there any functionality in JOOQ which I can extend to solve this problem?

Aucun commentaire:

Enregistrer un commentaire