2012-01-26 3 views
1

최대 절전 모드를 사용하고 있고 최대 절전 모드를 사용하여 자바 측에서 엔티티를 만들었습니다. 내 DB 테이블 중 하나는 기본 키로 여러 열을 가지고 있으며 최대 절전 모드는이를 처리하기 위해 @EmbeddedId를 사용했습니다. 삽입 쿼리를 만들려고 할 때 hibernate @EmbeddedId를 사용하는 방법

내가 필요, ID를 설정 :

"클래스 com.iu.eblood.model.Eventtypeofevent 널 (null) ID 생성 :"

내 문제는 내가 삽입 쿼리를 만들 때이 오류가 있다는 것입니다 이 EmbeddedId에 대한 objejt을 만들고 내가 만든이 ID를 설정할 때, 또 다른 문제가 등장하기 :

"대상 이름"EVENTID는

"같은 SQL 문에 지정을 위해 두 번 이상 지정"

전 맞춰봐. 그는 Eventtypeofevent 오브젝트와 EventtypeofeventPK 오브젝트 (EmbeddedId에 대해 hibernate에 의해 작성된 클래스)가 실제로 동일한 속성을 표시하는 오류 모두에 대해 오류가 발생합니다. 나는 그것을 도울 수 있다면 확실하지 않다,

@Embeddable 
public class EventtypeofeventPK implements Serializable { 
    //default serial version id, required for serializable classes. 
    private static final long serialVersionUID = 1L; 
    private long eventid; 
    private int eventtypeid; 
...... getter and setter 

답변

0

내가 같이 @EmbeddedId 사용 : EmbeddedId에 대한

@Entity 
public class Eventtypeofevent implements Serializable { 

    private static final long serialVersionUID = 1L; 
    private EventtypeofeventPK id; 
    private Timestamp createddate; 
    private Timestamp deleteddate; 
    private String isactive; 
    private Event event; 
    private Eventtype eventtype; 

    public Eventtypeofevent() { 
    } 


    @EmbeddedId 
    public EventtypeofeventPK getId() { 
     return this.id; 
    } 

    public void setId(EventtypeofeventPK id) { 
     this.id = id; 
    } 
....... getter and setter 

및 기타 클래스 : 여기

내 클래스입니다

@EmbeddedId 
@AttributeOverrides({ 
    @AttributeOverride(name = "orgId", column = @Column(name = "ORG_ID", nullable = false,  precision = 12, scale = 0)), 
    @AttributeOverride(name = "configId", column = @Column(name = "CONFIG_ID", nullable = false, precision = 9, scale = 0)) }) 
    public [EmbeddedId Object] getId() { 
    return id; 
    } 
관련 문제