Hi,
I have performed a test to confirm that I don't seem to be able to
disable caching (2.0.1).
I've set the following properties:
<property name="openjpa.DataCache" value="false"/>
<property name="openjpa.QueryCache" value="false"/>
<property name="openjpa.jdbc.QuerySQLCache" value="false"/>
And I can see the correct values of these properties are logged out when
I start my app.
When I create the entity Test.java (below), and run it's main method
(with the TEST table empty to start with) and then subsequently manually
insert into the test table:
insert into TEST values (1,'a');
it never picks up on the inserted values, even though I am creating a
new EntityManager for each iteration where I perform the query on Test.
What could I be doing wrong!?
Thanks
Joel
--------------------------------------------------
package com.su3analytics.sitedelta.model;
import java.util.List;
import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Persistence;
import javax.persistence.Table;
import javax.persistence.TypedQuery;
@Entity
@Access(AccessType.PROPERTY)
@Table(name="TEST")
public class Test {
private int id;
private String name;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="ID")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column(name="NAME")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// SIMPLE TEST CASE
public static void main(String[] args) throws Exception {
EntityManagerFactory factory =
Persistence.createEntityManagerFactory("su3", null);
while(true) {
EntityManager em = factory.createEntityManager();
TypedQuery<Test> q = em.createQuery("select t from Test
t", Test.class);
List<Test> res = q.getResultList();
for (Test t :res) {
System.out.println(t.getId()+", " +
t.getName());
}
Thread.sleep(1000);
em.close();
}
}
}