Note that there are some explanatory texts on larger screens.

plurals
  1. POHibernate and Postgresql 9.0 with Java
    primarykey
    data
    text
    <p>I have an application that gathers a bit of it's data using entities created with hibernat, The rest is gathered with a simple jdbc database connection and sql statements. Saving is also the same. I recently upgraded the database to Postgresql 9.0 from Postgresql 8.4 and noticed all data gathered with the entities does not display any more. I can save data with the entites, but can not display that same data.</p> <p>I upgraded to Hibernate 3.6.2 with no fix, I also updated to the latest JDBC3 driver from postgresql 9.0-801. Neither of these fixed the issue.</p> <p>Here is one of the entities that does work. I have not changed since the DB upgrade.</p> <pre><code>package com.ajrs.entities; import java.io.Serializable; import javax.persistence.*; import static javax.persistence.GenerationType.*; @Entity @Table(name="lk_note_category") @NamedQueries({ @NamedQuery( name="LkNoteCategory.getAll", query="SELECT l FROM LkNoteCategory l" ) }) public class LkNoteCategory implements Serializable { @Id private String category; private String description; private boolean default_category; public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public boolean isDefault_category() { return default_category; } public void setDefault_category(boolean default_category) { this.default_category = default_category; } </code></pre> <p>}</p> <p>So I create the note categories object with the following:</p> <pre><code>noteCategories = em.createNamedQuery("LkNoteCategory.getAll").getResultList(); </code></pre> <p>That one loads up and according to my netbeans debugger gets all categories.</p> <p>Here is an entity that does not work.</p> <pre><code>enter code herepackage com.ajrs.entities; import java.io.Serializable; import java.sql.Timestamp; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import static javax.persistence.CascadeType.*; import javax.persistence.GeneratedValue; import static javax.persistence.GenerationType.*; import javax.persistence.NamedNativeQuery; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.PrePersist; import javax.persistence.PreUpdate; import javax.persistence.SequenceGenerator; import javax.persistence.Transient; @Entity @NamedQueries({ @NamedQuery( name="Note.oldgetByClaimNo", query="select n from Note n where n.claimNo = :claim_no order by n.created" ), @NamedQuery( name="Note.getByCategoryAndSubcategory", query="select n from Note n where n.claimNo = :claim_no and n.category = :category and n.subcategory = :subcategory order by n.created" ) }) @NamedNativeQuery(name="Note.getByClaimNo", query= "select claim_no, userid, date, note, category, subcategory, note_id from "+ "( select 1 as ord1, extract (epoch from date) as ord2, claim_no, userid, date, note, category, subcategory, note_id "+ " from note " + " where claim_no = :claim_no "+ " and(subcategory is null or category != 'VI') " + " and date &lt;= (select coalesce(min(date),'1/1/3999') " + " from note n2 " + " where n2.claim_no = note.claim_no " + " and (n2.subcategory is not null " + " and n2.category = 'VI')" + " ) "+ " union "+ " select 2 as ord1, sort_order as ord2, claim_no, userid, date, note, category, subcategory, note_id " + " from(select note.*, sort_order " + " from note inner join lk_note_subcategory using(subcategory) "+ " where claim_no = :claim_no "+ " and (note.subcategory is not null and " + " note.category = 'VI') "+ " ) as foo " + " union " + " select 3 as ord1, extract (epoch from date) as ord2, claim_no, userid, date, note, category, subcategory, note_id "+ " from note " + " where claim_no = :claim_no "+ " and(subcategory is null or category != 'VI') " + " and date &gt; (select coalesce(min(date),'1/1/3999') " + " from note n2 " + " where n2.claim_no = note.claim_no " + " and (n2.subcategory is not null " + " and n2.category = 'VI')" + " ) "+ ") as dummy " + "order by ord1, ord2" , resultClass=Note.class) public class Note implements Serializable { public static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=SEQUENCE, generator="NOTE_SEQUENCE_GENERATOR") @SequenceGenerator(name="NOTE_SEQUENCE_GENERATOR", sequenceName="NOTE_NOTE_ID_SEQ") private int note_id; private String note; private String userid; @Column(name="claim_no") private String claimNo; @Column(name="date") private Timestamp created; private String category = ""; private String subcategory; /* Transient properties */ @Transient private boolean updated = false; public String getUser() { return userid; } public void setUser(String u) { userid = u;} public String getNote() { return note; } public void setNote(String n) { note = n; } public String getClaimNo() { return claimNo; } public void setClaimNo(String c) { claimNo = c; } public Timestamp getTimestamp() { return created; } public void setTimestamp(Timestamp timestamp) { this.created = timestamp; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public String getSubcategory() { return subcategory; } public void setSubcategory(String subcategory) { this.subcategory = subcategory; } public boolean isUpdated() { return updated; } public void setUpdated(boolean updated) { this.updated = updated; } @PrePersist @PreUpdate private void fillDate() { setTimestamp(new Timestamp(System.currentTimeMillis())); } </code></pre> <p>}</p> <p>And on this entity that does not work I use the following to create it.</p> <pre><code>currentNotesArray = em.createNamedQuery("Note.getByClaimNo"). setParameter("claim_no", claimNumber).getResultList(); </code></pre> <p>I then look at this ArrayList with the debugger and it is Null, I have seen it at other stages as an ArrayList of size 0 as well.</p> <p>Anyone have any ideas why this would be. I am stumped.</p> <p>Grant</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload