2010-11-20 18 views
1

Merhaba EJB'de kalıtım ile ilgili bir sorunum var. Sana@DiscriminatorColumn() değerini nasıl alabilirim?

PROJ_TYPE

değerini nasıl

@Entity 
@Inheritance(strategy=InheritanceType.JOINED) 
@DiscriminatorColumn(name="PROJ_TYPE") 
@Table(name="PROJECT") 
public abstract class Project { 
    @Id 
    private long id; 
    ... 
} 

@Entity 
@DiscriminatorValue("L"); 
@Table(name="LARGEPROJECT") 
public class LargeProject extends Project { 
    private BigDecimal budget; 
} 

@Entity 
@DiscriminatorValue("S"); 
@Table(name="SMALLPROJECT") 
public class SmallProject extends Project { 
} 

sonra benim kodu gösterin. nativeQuery kullandığım tek çözüm, ancak başka bir çözüm var mı ??

ingilizcem için özür

ve Aynı zamanda güncellenebilir veya sokulabilen değil sürece, ek bir sütun olarak ayırıcısını eşleştirmek mümkün olmalıdır peşin

+0

Neden buna ihtiyacınız var? Amaç nedir? –

+0

[çalışma zamanında DiscriminatorValue nasıl alınır] 'ın olası kopyası (http://stackoverflow.com/questions/3005383/how-to-get-the-discriminatorvalue-at-run-time) –

cevap

2

teşekkür ederiz.

@Column(name="PROJ_TYPE", nullable=false, updatable=false, insertable=false) 
private String projectType; 
+0

Tamam, teşekkürler bunu deneyeceğim benim problemm, PROJ_TYPE değerini datbase'den nasıl alacağımdı. – kohan

İlgili konular