2010-11-20 10 views
1

안녕하세요 EJB에서 상속에 문제가 있습니다. 나는 당신에게@DiscriminatorColumn() 값을 얻는 방법?

PROJ_TYPE

의 가치를 얻을 수있는 방법

@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 { 
} 

후 내 코드를 보여줍니다. 유일한 해결책은 내가 nativeQuery를 사용하지만 또 다른 해결책은 무엇입니까 ???

내 영어 죄송합니다

및 또한 갱신 또는 삽입 아닌만큼, 추가 열로 판별을 매핑 할 수 있어야한다 사전

+0

왜 필요합니까? 목표는 무엇입니까? –

+0

가능한 복제판 [런타임에 DiscriminatorValue를 얻는 방법] (http://stackoverflow.com/questions/3005383/how-to-get-the-discriminatorvalue-at-run-time) –

답변

2

에 감사합니다.

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

감사합니다. 엔터티에 PROJ_TYPE에 대한 get이 없기 때문에 내 문제는 datbase에서 PROJ_TYPE 값을 가져 오는 방법이었습니다. – kohan