I have a problem with JPA and Discriminator Value.
value=0 should be mapped as a user
and value=1 should be mapped as a admin
but I only get the users
@Entity
@Table(name="T_USERS")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="usergroup", discriminatorType = DiscriminatorType.INTEGER)
public abstract class UserModel implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="T_USERS_PK")
private int id;
@Column(name="username")
private String username;
@Column(name="password")
private String password;
@Column(name="firstname")
private String firstname;
@Column(name="lastname")
private String lastname;
@Column(name="usergroup")
private String usergroup;
-
@Entity
@DiscriminatorValue("0")
public class User extends UserModel {
-
@Entity
@DiscriminatorValue("1")
public class Admin extends UserModel {
Your usergroup is string and you set discriminatorType = DiscriminatorType.INTEGER
@Column(name="usergroup")
private String usergroup;
Change userGroup type to integer and if it is string in your database (type of userGroup field in table) then remove discriminatorType = DiscriminatorType.INTEGER
@DiscriminatorColumn(name="usergroup")
because defalut of discriminatorType is string.