-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: JPA-Hibernate Parent/Child Relationship within Same Object
PostPosted: Tue Feb 13, 2007 8:25 pm 
Newbie

Joined: Tue Feb 13, 2007 8:23 pm
Posts: 2
Does anybody have an idea where I'm going wrong...

here's my table structure for Comment

id | integer | not null
website_id | integer | not null
event_id | integer | not null
parent_id | integer |
title | character varying(150) |
post_date | timestamp without time zone |
user_id | integer | not null
ip_address | character varying(100) |
comment_name | character varying(100) |
comment_email | character varying(100) |
hyperlink | character varying(200) |
comment | text |
score | integer | not null
active_flag | character(1) |


Parent Id is referencing Comment.Id ..

Here's my JPA Domain Object

@Entity
@Table(name="comments", schema="eventservices")
public class Comment implements IDomainObject{

@Id
@GeneratedValue(generator="SequenceComments")
@SequenceGenerator(name="SequenceComments", sequenceName="eventservices.seq_comments")
private long id = 0;

@Column(name="website_id")
private long websiteId = 0;

@OneToMany(targetEntity=Comment.class, mappedBy="parent", fetch=FetchType.LAZY)
private Collection comments = null;

@ManyToOne
@JoinColumn(name="event_id")
private Event event = null;

@ManyToOne
@JoinColumn(name="parent_id")
private Comment parent = null;

@Column(name="title")
private String title = null;

@Temporal(TemporalType.TIMESTAMP)
@Column(name="post_date")
private Date postDate = null;

@Column(name="user_id")
private long userId = 0;

@Column(name="comment_name")
private String commentName = null;

@Column(name="comment_email")
private String commentEmail = null;

@Column(name="hyperlink")
private String hyperlink = null;

@Column(name="comment")
private String note = null;

@Column(name="score")
private long score = 0;

@Column(name="active_flag")
private String activeFlag = null;

@Column(name="ip_address")
private String ipAddress = null;

public String getIpAddress() {
return ipAddress;
}

public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}

public String getActiveFlag() {
return activeFlag;
}

public void setActiveFlag(String activeFlag) {
this.activeFlag = activeFlag;
}

public Event getEvent() {
return event;
}

public void setEvent(Event event) {
this.event = event;
}

public String getHyperlink() {
return hyperlink;
}

public void setHyperlink(String hyperlink) {
this.hyperlink = hyperlink;
}

public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}

public String getNote() {
return note;
}

public void setNote(String note) {
this.note = note;
}

public Comment getParent() {
return parent;
}

public void setParent(Comment parent) {
this.parent = parent;
}

public Date getPostDate() {
return postDate;
}

public void setPostDate(Date postDate) {
this.postDate = postDate;
}


public String getCommentEmail() {
return commentEmail;
}

public void setCommentEmail(String commentEmail) {
this.commentEmail = commentEmail;
}

public String getCommentName() {
return commentName;
}

public void setCommentName(String commentName) {
this.commentName = commentName;
}

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public long getUserId() {
return userId;
}

public void setUserId(long userId) {
this.userId = userId;
}

public long getWebsiteId() {
return websiteId;
}

public void setWebsiteId(long websiteId) {
this.websiteId = websiteId;
}

public long getScore() {
return score;
}

public void setScore(long score) {
this.score = score;
}

public Collection getComments() {
return comments;
}

public void setComments(Collection comments) {
this.comments = comments;
}

public void addComment(Comment comment){
if(this.comments==null){
this.comments = new java.util.HashSet();
}
this.comments.add(comment);
}
}


Here's the exception in the logs:

22:12:23,367 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
22:12:23,367 ERROR [JDBCExceptionReporter] Batch entry 0 insert into eventservices.comments (website_id, event_id, parent_id, title, post_date, user_id, comment_name, comment_email, hyperlink, comment, score, active_flag, ip_address, id) values ( was aborted. Call getNextException() to see the cause.
22:12:23,367 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 22003
22:12:23,368 ERROR [JDBCExceptionReporter] ERROR: integer out of range


Parent Id will be null if it's a top level comment, and in the junit i'm running this is the case... So I don't understand why this isn't working?

Thanks In Advance,

Chris


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 15, 2007 8:07 pm 
Hibernate Team
Hibernate Team

Joined: Sun Sep 14, 2003 3:54 am
Posts: 7256
Location: Paris, France
context, full stacktrace, did you try the advice Call getNextException() to see the cause.

_________________
Emmanuel


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.