Archive for May, 2014

When to use DiscriminatorValue annotation in hibernate /solving optimistic lock problem

OptimisticLock problemini cozmek icin OptimisticLockType.NONE annation kullanildi.


When to use DiscriminatorValue annotation in hibernate

To understand discriminator, first you must understand the inheritance strategies: SINGLE_TABLE, JOINED, TABLE_PER_CLASS.

Discriminator is commonly used in SINGLE_TABLE inheritance because you need a column to identify the type of the record.

Example: You have a class Student and 2 sub-classes: GoodStudent and BadStudent. Both Good and BadStudent data will be stored in 1 table, but of course we need to know the type and that’s when DiscriminatorColumn will come in.


@Entity
@DiscriminatorValue(PrdConstants.PRD)
@org.hibernate.annotations.Entity(dynamicInsert = true, dynamicUpdate =false,optimisticLock=OptimisticLockType.NONE)
public class ElectronicInfrastructureServiceElementImpl extends ProductInfrastructureServiceElementImpl {
private static final long serialVersionUID = 1L;

public ElectronicInfrastructureServiceElementImpl() {
this.setServiceType(ImsConstants.IMSICSCF);
}

public ElectronicInfrastructureServiceElementImpl newModelInstance() {
return new ElectronicInfrastructureServiceElementImpl();
}

}

Advertisements

, ,

Leave a comment