Hi,

First, Gilead does not support yet TopLink or EclipseLink (only
Hibernate is supported), even if issues are the same (have a look at
http://noon.gilead.free.fr/gilead/index.php?page=presentation for an
explanation about JPA/GWT integration issues).

If TopLink is not mandatory, you can "easily" switch to Hibernate
(that's JPA power) and use Gilead to solve your issue.
As far as I know, Dreamsource is not JPA compliant, so using it
instead of your JPA code could be very expensive if you have a lot of
domain classes...

Sorry, no "magic" solution...

Hope this helps !
Bruno

On 26 avr, 20:29, Jim <jim.p...@gmail.com> wrote:
> You may try Dreamsource ORM. Dreamsource ORM is designed to target GWT
> applications by providing the following features:
>
> 1. Whatever you codes happens in database. No merge
> 2. No detached enhanced object so no third party library like Gilead
> is needed
> 3. No lazy loading. Just eager loading because you can expect
> whatever
> you want during coding.
> 4. Easy to learn and use because it just mirrors SQL statements.
> 5. High performance compared to Hibernate and JPA
> 6. High productivity.
> 7. It can be used in GWT and any other frameworks without third party
> libraries.
> 8. It provides most demanding features in a small library.
> 9. It provides JPA 2.0 query feature in a smart way.
>
> You can find Spring and GWT examples fromhttp://www.gwtorm.com
>
> Any feedback is appreciated.
>
> Jim Xiehttp://www.gwtorm.comHome for GWT 
> ORMhttp://code.google.com/p/dreamsource-orm/downloads/list
>
> On Apr 26, 11:48 am, Arthur Kalmenson <arthur.k...@gmail.com> wrote:
>
> > When you pull an object out of the database, Collections are not
> > ordinary java.util collections but are instead turned into ones that
> > can keep track of persistence data. You need to use something like
> > Gilead (http://noon.gilead.free.fr/gilead/), or Dozer with a DTO. If
> > your Object graph isn't very large, you can use Dozer to map the
> > object onto itself.
>
> > --
> > Arthur Kalmenson
>
> > On Sun, Apr 26, 2009 at 7:56 AM, Saeed Zarinfam <zarinfa...@gmail.com> 
> > wrote:
>
> > > this is my entity class.
>
> > > import java.io.Serializable;
> > > import javax.persistence.Basic;
> > > import javax.persistence.Column;
> > > import javax.persistence.Entity;
> > > import javax.persistence.FetchType;
> > > import javax.persistence.GeneratedValue;
> > > import javax.persistence.GenerationType;
> > > import javax.persistence.Id;
> > > import javax.persistence.JoinColumn;
> > > import javax.persistence.ManyToOne;
> > > import javax.persistence.NamedQueries;
> > > import javax.persistence.NamedQuery;
> > > import javax.persistence.Table;
>
> > > /**
> > >  *
> > >  * @author Saeed Zarinfam
> > >  */
> > > @Entity
> > > @Table(name = "ole_exam")
> > > @NamedQueries({...@namedquery(name = "Exam.findAll", query = "SELECT e
> > > FROM Exam e"), @NamedQuery(name = "Exam.findByExamId", query = "SELECT
> > > e FROM Exam e WHERE e.examId = :examId"), @NamedQuery(name =
> > > "Exam.findByExamName", query = "SELECT e FROM Exam e WHERE e.examName
> > > = :examName"), @NamedQuery(name = "Exam.findByExamDesc", query =
> > > "SELECT e FROM Exam e WHERE e.examDesc = :examDesc"), @NamedQuery(name
> > > = "Exam.findByExamTime", query = "SELECT e FROM Exam e WHERE
> > > e.examTime = :examTime"), @NamedQuery(name =
> > > "Exam.findByExamQuestionCount", query = "SELECT e FROM Exam e WHERE
> > > e.examQuestionCount = :examQuestionCount"), @NamedQuery(name =
> > > "Exam.findByExamMinMark", query = "SELECT e FROM Exam e WHERE
> > > e.examMinMark = :examMinMark")})
> > > public class Exam implements Serializable {
> > >    private static final long serialVersionUID = 1L;
> > >   �...@id
> > >   �...@generatedvalue(strategy = GenerationType.IDENTITY)
> > >   �...@basic(optional = false)
> > >   �...@column(name = "exam_id")
> > >    private Long examId;
> > >   �...@basic(optional = false)
> > >   �...@column(name = "exam_name")
> > >    private String examName;
> > >   �...@column(name = "exam_desc")
> > >    private String examDesc;
> > >   �...@basic(optional = false)
> > >   �...@column(name = "exam_time")
> > >    private short examTime;
> > >   �...@basic(optional = false)
> > >   �...@column(name = "exam_question_count")
> > >    private short examQuestionCount;
> > >   �...@basic(optional = false)
> > >   �...@column(name = "exam_min_mark")
> > >    private int examMinMark;
> > >   �...@joincolumn(name = "exam_template_fk", referencedColumnName =
> > > "exam_template_id")
> > >   �...@manytoone(optional = false, fetch = FetchType.LAZY)
> > >    private ExamTemplate examTemplateFk;
>
> > >    public Exam() {
> > >    }
>
> > >    public Exam(Long examId) {
> > >        this.examId = examId;
> > >    }
>
> > >    public Exam( String examName, short examTime, short
> > > examQuestionCount, int examMinMark) {
> > >        this.examName = examName;
> > >        this.examTime = examTime;
> > >        this.examQuestionCount = examQuestionCount;
> > >        this.examMinMark = examMinMark;
> > >    }
>
> > >    public Long getExamId() {
> > >        return examId;
> > >    }
>
> > >    public void setExamId(Long examId) {
> > >        this.examId = examId;
> > >    }
>
> > >    public String getExamName() {
> > >        return examName;
> > >    }
>
> > >    public void setExamName(String examName) {
> > >        this.examName = examName;
> > >    }
>
> > >    public String getExamDesc() {
> > >        return examDesc;
> > >    }
>
> > >    public void setExamDesc(String examDesc) {
> > >        this.examDesc = examDesc;
> > >    }
>
> > >    public short getExamTime() {
> > >        return examTime;
> > >    }
>
> > >    public void setExamTime(short examTime) {
> > >        this.examTime = examTime;
> > >    }
>
> > >    public short getExamQuestionCount() {
> > >        return examQuestionCount;
> > >    }
>
> > >    public void setExamQuestionCount(short examQuestionCount) {
> > >        this.examQuestionCount = examQuestionCount;
> > >    }
>
> > >    public int getExamMinMark() {
> > >        return examMinMark;
> > >    }
>
> > >    public void setExamMinMark(int examMinMark) {
> > >        this.examMinMark = examMinMark;
> > >    }
>
> > >    public ExamTemplate getExamTemplateFk() {
> > >        return examTemplateFk;
> > >    }
>
> > >    public void setExamTemplateFk(ExamTemplate examTemplateFk) {
> > >        this.examTemplateFk = examTemplateFk;
> > >    }
>
> > >   �...@override
> > >    public int hashCode() {
> > >        int hash = 0;
> > >        hash += (examId != null ? examId.hashCode() : 0);
> > >        return hash;
> > >    }
>
> > >   �...@override
> > >    public boolean equals(Object object) {
> > >        // TODO: Warning - this method won't work in the case the id
> > > fields are not set
> > >        if (!(object instanceof Exam)) {
> > >            return false;
> > >        }
> > >        Exam other = (Exam) object;
> > >        if ((this.examId == null && other.examId != null) ||
> > > (this.examId != null && !this.examId.equals(other.examId))) {
> > >            return false;
> > >        }
> > >        return true;
> > >    }
>
> > >   �...@override
> > >    public String toString() {
> > >        return "entity.Exam[examId=" + examId + "]";
> > >    }
>
> > > }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to