2013-03-15 34 views
0

這是我的實體類如何將數據插入此實體對象?

package entity; 

import java.io.Serializable; 
import java.util.Date; 
import java.util.List; 
import javax.persistence.Basic; 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.Id; 
import javax.persistence.JoinColumn; 
import javax.persistence.ManyToOne; 
import javax.persistence.NamedQueries; 
import javax.persistence.NamedQuery; 
import javax.persistence.OneToMany; 
import javax.persistence.Table; 
import javax.persistence.Temporal; 
import javax.persistence.TemporalType; 
import javax.validation.constraints.NotNull; 
import javax.validation.constraints.Size; 
import javax.xml.bind.annotation.XmlRootElement; 
import javax.xml.bind.annotation.XmlTransient; 

@Entity 
@Table(name = "RESERVATION") 
@XmlRootElement 
@NamedQueries({ 
    @NamedQuery(name = "Reservation.findAll", query = "SELECT r FROM Reservation r"), 
    @NamedQuery(name = "Reservation.findByReservationid", query = "SELECT r FROM Reservation r WHERE r.reservationid = :reservationid"), 
    @NamedQuery(name = "Reservation.findByReservationdate", query = "SELECT r FROM Reservation r WHERE r.reservationdate = :reservationdate")}) 
public class Reservation implements Serializable { 
    private static final long serialVersionUID = 1L; 
    @Id 
    @Basic(optional = false) 
    @NotNull 
    @Size(min = 1, max = 10) 
    @Column(name = "RESERVATIONID") 
    private String reservationid; 
    @Column(name = "RESERVATIONDATE") 
    @Temporal(TemporalType.DATE) 
    private Date reservationdate; 
    @OneToMany(mappedBy = "loginid") 
    private List<Reservation> reservationList; 
    @JoinColumn(name = "LOGINID", referencedColumnName = "LOGINID") 
    @ManyToOne 
    private Reservation loginid; 

    public Reservation() { 
    } 

    public Reservation(String reservationid) { 
     this.reservationid = reservationid; 
    } 

    public String getReservationid() { 
     return reservationid; 
    } 

    public void setReservationid(String reservationid) { 
     this.reservationid = reservationid; 
    } 

    public Date getReservationdate() { 
     return reservationdate; 
    } 

    public void setReservationdate(Date reservationdate) { 
     this.reservationdate = reservationdate; 
    } 

    @XmlTransient 
    public List<Reservation> getReservationList() { 
     return reservationList; 
    } 

    public void setReservationList(List<Reservation> reservationList) { 
     this.reservationList = reservationList; 
    } 

    public Reservation getLoginid() { 
     return loginid; 
    } 

    public void setLoginid(Reservation loginid) { 
     this.loginid = loginid; 
    } 

    @Override 
    public int hashCode() { 
     int hash = 0; 
     hash += (reservationid != null ? reservationid.hashCode() : 0); 
     return hash; 
    } 

    @Override 
    public boolean equals(Object object) { 

     if (!(object instanceof Reservation)) { 
      return false; 
    } 
     Reservation other = (Reservation) object; 
     if ((this.reservationid == null && other.reservationid != null) || (this.reservationid != null && !this.reservationid.equals(other.reservationid))) { 
     return false; 
    } 
    return true; 
} 

@Override 
public String toString() { 
    return "entity.Reservation[ reservationid=" + reservationid + " ]"; 
} 

} 

我應該如何將數據插入到這個表??? 我的表

預定ID VARCHAR(10)
登錄ID VARCHAR(20)(由會員表的外鍵)
TourID VARCHAR(10)(從tourpackage表的外鍵)
ReservationDate DATE

+0

要清楚 - 您正在使用ORM映射器,並且您仍然有興趣直接使用SQL輸入數據?或者你想堅持一個實體? – 2013-03-15 12:24:46

+0

我想堅持一個實體 – Lantz 2013-03-15 12:27:08

+0

從獨立的Java代碼,EJB,CDI bean?你的環境是什麼,你如何獲得EntityManager(你使用一個嗎?) – 2013-03-15 12:30:56

回答

0

我不是肯定框架您使用的,只是看到實體

如果你正在使用EJB3

您可以使用EntityManager並調用Persist(entity)方法來保存實體

如果您正在使用原始的Hibernate

獲取Session和使用save方法

會議 - >的org.hibernate.Session

+0

我要去調用persist方法。這是我的實體類,但它沒有表的變量​​。底部是應該在表格中的變量 – Lantz 2013-03-15 12:45:41

+0

您是否看到@Column name =「Something」。這是表格中的列名稱。 java中相應的變量在類中聲明。 該實體只是一個表的映射 實體的屬性是表中的列 – madhairsilence 2013-03-15 12:48:12

+0

o ...終於找到了錯誤...我做了一些愚蠢的... thx爲所有您​​的答覆 – Lantz 2013-03-15 12:55:53