Michu93
Michu93

Reputation: 5727

Discriminator missing in query generated by Hibernate

I have a class with discriminator:

@Entity
@Table(name = "INSTR_UNDERL")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "discriminator", discriminatorType = DiscriminatorType.STRING)
public abstract class AbstractInstrumentUnderl extends HibernatePersistentObject implements Serializable

another class is extending this one:

@Entity
public abstract class AbstractStandardInstrumentUnderlying extends AbstractInstrumentUnderlying

and there is concrete class with discriminator value:

@Entity
@DiscriminatorValue("Standard")
public class StandardInstrumentUnderlying extends AbstractStandardInstrumentUnderlying implements IsinGenerator

I have enabled hibernate logs and I can see that when table is joined in many queries then Discriminator is ommited e.g

instr_underl underl16_ 
    on instr2_.instrument_id=underl16_.instrument_id 

and it should be:

instr_underl underl16_ 
    on instr2_.instrument_id=underl16_.instrument_id 
    and underl16_.discriminator='Standard' 

How can I force Hibernate to generate query using discriminator?

Upvotes: 0

Views: 24

Answers (0)

Related Questions