Re: javax.persistence.EntityListeners is never called

2014-10-17 Thread gouessej
I still have a compile error here, line 1583:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java?view=markup

Adding a cast to Boolean seems to fix it but actually, it should work as is, 
Netbeans 7.4 (with Java 1.7) probably does something wrong. It claims that 
J2DoPrivHelper.isAnnotationPresentAction() returns a PrivilegedAction whereas 
it returns a PrivilegedAction.




 Message du 16/10/14 18:32
 De : Rick Curtis 
 A : users , goues...@orange.fr
 Copie à : 
 Objet : Re: javax.persistence.EntityListeners is never called
 
  I had to disable checkstyle and to fix a compile error to build OpenJPA.
 The test passes.
 Yes, sorry I just committed a fix for that. Please do an update and let me
 know if you're still having compile problems.
 
 I think that you should have a separate listener class and have the
 singleton bean injected into it.
 
 On Thu, Oct 16, 2014 at 11:08 AM,  wrote:
 
  I had to disable checkstyle and to fix a compile error to build OpenJPA.
  The test passes.
 
  However, the contract of the annotation javax.ejb.Singleton isn't
  respected by OpenEJB whereas it is respected by Hibernate. This is the only
  difference that I have found. I just put a log message into the constructor
  of the annotated class.
 
 
 
 
   Message du 15/10/14 17:25
   De : Rick Curtis
   A : users , goues...@orange.fr
   Copie à :
   Objet : Re: javax.persistence.EntityListeners is never called
  
   Yes, there are numerous unit tests, please take a look at the one that
  I've
   noted below.
  
  
  https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/TestEntityListeners.java
  
   On Wed, Oct 15, 2014 at 10:00 AM, wrote:
  
Are there any unit tests that I can run and modify to reproduce my
problem? This is typically what I do with JogAmp.
   
 Message du 15/10/14 16:42
 De : Rick Curtis
 A : users , goues...@orange.fr
 Copie à :
 Objet : Re: javax.persistence.EntityListeners is never called

 Getting rid of this property doesn't solve my problem.
 Sorry about muddying the waters. As I stated, that suggestion isn't
related
 to the current problem... it is a best practice. That property is
  busted
 and you can fairly easily get into deadlocks.

 I am still confused The reason @PostLoad isn't called is because your
 snippets look good. Can I have you put together some sort of a
recreatable
 test? That will help speed up diagnosis.

 Thanks,
 Rick

 On Wed, Oct 15, 2014 at 4:35 AM, wrote:

  Getting rid of this property doesn't solve my problem.
 
  My listener:
 
  @Singleton
  public class MultiLangStringEntityListener {
 
  @PostLoad
  @SuppressWarnings(UseSpecificCatch)
  public void postLoad(Object entity) {
 
 
  An entity:
  @Entity
  @EntityListeners({MultiLangStringEntityListener.class})
  @Table(name = THEME)
  @XmlRootElement(name = Theme)
  @NamedQueries({
  @NamedQuery(name = DmTheme.findAll, query = SELECT d FROM
  DmTheme
d)})
  public class Theme implements Serializable {
  private static final long serialVersionUID = 1L;
  // @Max(value=?) @Min(value=?)//if you know range of your decimal
fields
  consider using these annotations to enforce field validation
  @Id
  @Basic(optional = false)
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
  SEQ_THEME)
  @SequenceGenerator(name = SEQ_THEME, sequenceName = SEQ_THEME,
  allocationSize = 1)
  @Column(name = ID)
  private BigInteger id;
  @Embedded
  @AttributeOverrides({
  @AttributeOverride(name = id, column = @Column(name = DESCR,
  nullable=false)),
  @AttributeOverride(name = lang, column = @Column(insertable =
  false,
  updatable = false, name = DESCR)),
  @AttributeOverride(name = text, column = @Column(insertable =
  false,
  updatable = false, name = DESCR))
  })
  private MultiLangString descr;
 
 
  The embeddable class:
 
  @Embeddable
  public class MultiLangString implements Serializable {
 
  private static final long serialVersionUID = 1L;
  private String id;
  private String lang;
  private String text;
 
  public MultiLangString() {
  }
 
 
  Some of my entity classes use both @Embedded and @EmbeddedId but
  not on
  the same field. I don't know what is wrong as it still works with
Hibernate
  whereas I try to stay far from its specific features as you can
  see in
this
  bug report:
  https://hibernate.atlassian.net/browse/HHH-9437
 
 
   Message du 14/10/14 17:45
   De : Rick Curtis
   A : users , goues...@orange.fr
   Copie à :
   Objet : Re

Re: javax.persistence.EntityListeners is never called

2014-10-17 Thread gouessej
Please find enclosed my patch. It fixes the compile errors and it is better 
than a useless cast.

 Message du 16/10/14 18:32
 De : Rick Curtis 
 A : users , goues...@orange.fr
 Copie à : 
 Objet : Re: javax.persistence.EntityListeners is never called
 
  I had to disable checkstyle and to fix a compile error to build OpenJPA.
 The test passes.
 Yes, sorry I just committed a fix for that. Please do an update and let me
 know if you're still having compile problems.
 
 I think that you should have a separate listener class and have the
 singleton bean injected into it.
 
 On Thu, Oct 16, 2014 at 11:08 AM,  wrote:
 
  I had to disable checkstyle and to fix a compile error to build OpenJPA.
  The test passes.
 
  However, the contract of the annotation javax.ejb.Singleton isn't
  respected by OpenEJB whereas it is respected by Hibernate. This is the only
  difference that I have found. I just put a log message into the constructor
  of the annotated class.
 
 
 
 
   Message du 15/10/14 17:25
   De : Rick Curtis
   A : users , goues...@orange.fr
   Copie à :
   Objet : Re: javax.persistence.EntityListeners is never called
  
   Yes, there are numerous unit tests, please take a look at the one that
  I've
   noted below.
  
  
  https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/TestEntityListeners.java
  
   On Wed, Oct 15, 2014 at 10:00 AM, wrote:
  
Are there any unit tests that I can run and modify to reproduce my
problem? This is typically what I do with JogAmp.
   
 Message du 15/10/14 16:42
 De : Rick Curtis
 A : users , goues...@orange.fr
 Copie à :
 Objet : Re: javax.persistence.EntityListeners is never called

 Getting rid of this property doesn't solve my problem.
 Sorry about muddying the waters. As I stated, that suggestion isn't
related
 to the current problem... it is a best practice. That property is
  busted
 and you can fairly easily get into deadlocks.

 I am still confused The reason @PostLoad isn't called is because your
 snippets look good. Can I have you put together some sort of a
recreatable
 test? That will help speed up diagnosis.

 Thanks,
 Rick

 On Wed, Oct 15, 2014 at 4:35 AM, wrote:

  Getting rid of this property doesn't solve my problem.
 
  My listener:
 
  @Singleton
  public class MultiLangStringEntityListener {
 
  @PostLoad
  @SuppressWarnings(UseSpecificCatch)
  public void postLoad(Object entity) {
 
 
  An entity:
  @Entity
  @EntityListeners({MultiLangStringEntityListener.class})
  @Table(name = THEME)
  @XmlRootElement(name = Theme)
  @NamedQueries({
  @NamedQuery(name = DmTheme.findAll, query = SELECT d FROM
  DmTheme
d)})
  public class Theme implements Serializable {
  private static final long serialVersionUID = 1L;
  // @Max(value=?) @Min(value=?)//if you know range of your decimal
fields
  consider using these annotations to enforce field validation
  @Id
  @Basic(optional = false)
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
  SEQ_THEME)
  @SequenceGenerator(name = SEQ_THEME, sequenceName = SEQ_THEME,
  allocationSize = 1)
  @Column(name = ID)
  private BigInteger id;
  @Embedded
  @AttributeOverrides({
  @AttributeOverride(name = id, column = @Column(name = DESCR,
  nullable=false)),
  @AttributeOverride(name = lang, column = @Column(insertable =
  false,
  updatable = false, name = DESCR)),
  @AttributeOverride(name = text, column = @Column(insertable =
  false,
  updatable = false, name = DESCR))
  })
  private MultiLangString descr;
 
 
  The embeddable class:
 
  @Embeddable
  public class MultiLangString implements Serializable {
 
  private static final long serialVersionUID = 1L;
  private String id;
  private String lang;
  private String text;
 
  public MultiLangString() {
  }
 
 
  Some of my entity classes use both @Embedded and @EmbeddedId but
  not on
  the same field. I don't know what is wrong as it still works with
Hibernate
  whereas I try to stay far from its specific features as you can
  see in
this
  bug report:
  https://hibernate.atlassian.net/browse/HHH-9437
 
 
   Message du 14/10/14 17:45
   De : Rick Curtis
   A : users , goues...@orange.fr
   Copie à :
   Objet : Re: javax.persistence.EntityListeners is never called
  
   One thing that jumps out of your p.xml is the
  openjpa.Multithreaded
   property. I suggest you get rid of that property and ensure that
  you
  aren't
   sharing EntityManager's across threads... but I don't think that
  is
  related
   to the problem you are currently having.
  
   Can you post

Re: javax.persistence.EntityListeners is never called

2014-10-17 Thread Rick Curtis
I don't see your patch... and I also don't see this same problem when
running in Eclipse.

What vendor / version of java are you running? I remember seeing similar
problems when running with early version of java 7 (or maybe it was 8.. I
don't really remember)

Is your original problem resolved?

On Fri, Oct 17, 2014 at 9:22 AM, goues...@orange.fr wrote:

 Please find enclosed my patch. It fixes the compile errors and it is
 better than a useless cast.

  Message du 16/10/14 18:32
  De : Rick Curtis
  A : users , goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
   I had to disable checkstyle and to fix a compile error to build
 OpenJPA.
  The test passes.
  Yes, sorry I just committed a fix for that. Please do an update and let
 me
  know if you're still having compile problems.
 
  I think that you should have a separate listener class and have the
  singleton bean injected into it.
 
  On Thu, Oct 16, 2014 at 11:08 AM,  wrote:
 
   I had to disable checkstyle and to fix a compile error to build
 OpenJPA.
   The test passes.
  
   However, the contract of the annotation javax.ejb.Singleton isn't
   respected by OpenEJB whereas it is respected by Hibernate. This is the
 only
   difference that I have found. I just put a log message into the
 constructor
   of the annotated class.
  
  
  
  
Message du 15/10/14 17:25
De : Rick Curtis
A : users , goues...@orange.fr
Copie à :
Objet : Re: javax.persistence.EntityListeners is never called
   
Yes, there are numerous unit tests, please take a look at the one
 that
   I've
noted below.
   
   
  
 https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/TestEntityListeners.java
   
On Wed, Oct 15, 2014 at 10:00 AM, wrote:
   
 Are there any unit tests that I can run and modify to reproduce my
 problem? This is typically what I do with JogAmp.

  Message du 15/10/14 16:42
  De : Rick Curtis
  A : users , goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
  Getting rid of this property doesn't solve my problem.
  Sorry about muddying the waters. As I stated, that suggestion
 isn't
 related
  to the current problem... it is a best practice. That property is
   busted
  and you can fairly easily get into deadlocks.
 
  I am still confused The reason @PostLoad isn't called is because
 your
  snippets look good. Can I have you put together some sort of a
 recreatable
  test? That will help speed up diagnosis.
 
  Thanks,
  Rick
 
  On Wed, Oct 15, 2014 at 4:35 AM, wrote:
 
   Getting rid of this property doesn't solve my problem.
  
   My listener:
  
   @Singleton
   public class MultiLangStringEntityListener {
  
   @PostLoad
   @SuppressWarnings(UseSpecificCatch)
   public void postLoad(Object entity) {
  
  
   An entity:
   @Entity
   @EntityListeners({MultiLangStringEntityListener.class})
   @Table(name = THEME)
   @XmlRootElement(name = Theme)
   @NamedQueries({
   @NamedQuery(name = DmTheme.findAll, query = SELECT d FROM
   DmTheme
 d)})
   public class Theme implements Serializable {
   private static final long serialVersionUID = 1L;
   // @Max(value=?) @Min(value=?)//if you know range of your
 decimal
 fields
   consider using these annotations to enforce field validation
   @Id
   @Basic(optional = false)
   @GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
   SEQ_THEME)
   @SequenceGenerator(name = SEQ_THEME, sequenceName =
 SEQ_THEME,
   allocationSize = 1)
   @Column(name = ID)
   private BigInteger id;
   @Embedded
   @AttributeOverrides({
   @AttributeOverride(name = id, column = @Column(name =
 DESCR,
   nullable=false)),
   @AttributeOverride(name = lang, column = @Column(insertable =
   false,
   updatable = false, name = DESCR)),
   @AttributeOverride(name = text, column = @Column(insertable =
   false,
   updatable = false, name = DESCR))
   })
   private MultiLangString descr;
  
  
   The embeddable class:
  
   @Embeddable
   public class MultiLangString implements Serializable {
  
   private static final long serialVersionUID = 1L;
   private String id;
   private String lang;
   private String text;
  
   public MultiLangString() {
   }
  
  
   Some of my entity classes use both @Embedded and @EmbeddedId
 but
   not on
   the same field. I don't know what is wrong as it still works
 with
 Hibernate
   whereas I try to stay far from its specific features as you can
   see in
 this
   bug report:
   https://hibernate.atlassian.net/browse/HHH-9437
  
  
Message

Re: javax.persistence.EntityListeners is never called

2014-10-17 Thread gouessej
I use Oracle JDK 1.7 update 71 with Netbeans 7.4 under Windows when I'm at 
work. I use OpenJDK 1.7 under Mageia Linux 4 at home. My original problem isn't 
fixed yet. I enabled PostLoadOnMerge but it doesn't change anything.

My patch is here:
# This patch file was generated by NetBeans IDE
# Following Index: paths are relative to: C:\Users\jgouesse\Documents\trunk
# This patch can be applied using context Tools: Patch action on respective 
folder.
# It uses platform neutral UTF-8 encoding and \n newlines.
# Above lines and this line are ignored by the patching process.
Index: 
openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java
--- 
openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java
 Base (BASE)
+++ 
openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java
 Locally Modified (Based On LOCAL)
@@ -1560,9 +1560,10 @@

// cache the JAXB XmlRootElement class if it is present so we do not
// have a hard-wired dependency on JAXB here
- Class xmlRootElementClass = null;
+ Class? extends Annotation xmlRootElementClass = null;
try {
- xmlRootElementClass = 
Class.forName(javax.xml.bind.annotation.XmlRootElement);
+ xmlRootElementClass = (Class? extends Annotation)
+ Class.forName(javax.xml.bind.annotation.XmlRootElement);
} catch (Exception e) {
}

Index: 
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java
--- 
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java
 Base (BASE)
+++ 
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java
 Locally Modified (Based On LOCAL)
@@ -18,6 +18,7 @@
*/
package org.apache.openjpa.persistence;

+import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Field;
import java.lang.reflect.Member;
@@ -53,8 +54,8 @@

// cache the JAXB Xml... classes if they are present so we do not
// have a hard-wired dependency on JAXB here
- private Class xmlTypeClass = null;
- private Class xmlRootElementClass = null;
+ private Class? extends Annotation xmlTypeClass = null;
+ private Class? extends Annotation xmlRootElementClass = null;
private Class xmlAccessorTypeClass = null;
private Class xmlAttributeClass = null;
private Class xmlElementClass = null;
@@ -75,11 +76,11 @@
_conf = conf;
_log = conf.getLog(OpenJPAConfiguration.LOG_METADATA);
try {
- xmlTypeClass = Class.forName(
+ xmlTypeClass = (Class? extends Annotation) Class.forName(
javax.xml.bind.annotation.XmlType);
xmlTypeName = xmlTypeClass.getMethod(name, null);
xmlTypeNamespace = xmlTypeClass.getMethod(namespace, null);
- xmlRootElementClass = Class.forName(
+ xmlRootElementClass = (Class? extends Annotation) Class.forName(
javax.xml.bind.annotation.XmlRootElement);
xmlRootName = xmlRootElementClass.getMethod(name, null);
xmlRootNamespace = xmlRootElementClass.getMethod(namespace, null);







 Message du 17/10/14 17:02
 De : Rick Curtis 
 A : users , goues...@orange.fr
 Copie à : 
 Objet : Re: javax.persistence.EntityListeners is never called
 

I don't see your patch... and I also don't see this same problem when running 
in Eclipse. 


What vendor / version of java are you running? I remember seeing similar 
problems when running with early version of java 7 (or maybe it was 8.. I don't 
really remember)


Is your original problem resolved?



On Fri, Oct 17, 2014 at 9:22 AM,  wrote:

Please find enclosed my patch. It fixes the compile errors and it is better 
than a useless cast.
 
  Message du 16/10/14 18:32
  De : Rick Curtis
  A : users , goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
   I had to disable checkstyle and to fix a compile error to build OpenJPA.
  The test passes.
  Yes, sorry I just committed a fix for that. Please do an update and let me
  know if you're still having compile problems.
 
  I think that you should have a separate listener class and have the
  singleton bean injected into it.
 
 

 On Thu, Oct 16, 2014 at 11:08 AM,  wrote:
 
   I had to disable checkstyle and to fix a compile error to build OpenJPA.
   The test passes.
  
   However, the contract of the annotation javax.ejb.Singleton isn't
   respected by OpenEJB whereas it is respected by Hibernate. This is the 
   only
   difference that I have found. I just put a log message into the 
   constructor
   of the annotated class.
  
  
  
  
Message du 15/10/14 17:25
De : Rick Curtis
A : users , goues...@orange.fr
Copie à :
Objet : Re: javax.persistence.EntityListeners is never called
   
Yes, there are numerous unit tests, please take a look at the one that
   I've
noted below.
   
   
   https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org

Re: javax.persistence.EntityListeners is never called

2014-10-16 Thread gouessej
I had to disable checkstyle and to fix a compile error to build OpenJPA. The 
test passes.

However, the contract of the annotation javax.ejb.Singleton isn't respected by 
OpenEJB whereas it is respected by Hibernate. This is the only difference that 
I have found. I just put a log message into the constructor of the annotated 
class.




 Message du 15/10/14 17:25
 De : Rick Curtis 
 A : users , goues...@orange.fr
 Copie à : 
 Objet : Re: javax.persistence.EntityListeners is never called
 
 Yes, there are numerous unit tests, please take a look at the one that I've
 noted below.
 
 https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/TestEntityListeners.java
 
 On Wed, Oct 15, 2014 at 10:00 AM,  wrote:
 
  Are there any unit tests that I can run and modify to reproduce my
  problem? This is typically what I do with JogAmp.
 
   Message du 15/10/14 16:42
   De : Rick Curtis
   A : users , goues...@orange.fr
   Copie à :
   Objet : Re: javax.persistence.EntityListeners is never called
  
   Getting rid of this property doesn't solve my problem.
   Sorry about muddying the waters. As I stated, that suggestion isn't
  related
   to the current problem... it is a best practice. That property is busted
   and you can fairly easily get into deadlocks.
  
   I am still confused The reason @PostLoad isn't called is because your
   snippets look good. Can I have you put together some sort of a
  recreatable
   test? That will help speed up diagnosis.
  
   Thanks,
   Rick
  
   On Wed, Oct 15, 2014 at 4:35 AM, wrote:
  
Getting rid of this property doesn't solve my problem.
   
My listener:
   
@Singleton
public class MultiLangStringEntityListener {
   
@PostLoad
@SuppressWarnings(UseSpecificCatch)
public void postLoad(Object entity) {
   
   
An entity:
@Entity
@EntityListeners({MultiLangStringEntityListener.class})
@Table(name = THEME)
@XmlRootElement(name = Theme)
@NamedQueries({
@NamedQuery(name = DmTheme.findAll, query = SELECT d FROM DmTheme
  d)})
public class Theme implements Serializable {
private static final long serialVersionUID = 1L;
// @Max(value=?) @Min(value=?)//if you know range of your decimal
  fields
consider using these annotations to enforce field validation
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
SEQ_THEME)
@SequenceGenerator(name = SEQ_THEME, sequenceName = SEQ_THEME,
allocationSize = 1)
@Column(name = ID)
private BigInteger id;
@Embedded
@AttributeOverrides({
@AttributeOverride(name = id, column = @Column(name = DESCR,
nullable=false)),
@AttributeOverride(name = lang, column = @Column(insertable = false,
updatable = false, name = DESCR)),
@AttributeOverride(name = text, column = @Column(insertable = false,
updatable = false, name = DESCR))
})
private MultiLangString descr;
   
   
The embeddable class:
   
@Embeddable
public class MultiLangString implements Serializable {
   
private static final long serialVersionUID = 1L;
private String id;
private String lang;
private String text;
   
public MultiLangString() {
}
   
   
Some of my entity classes use both @Embedded and @EmbeddedId but not on
the same field. I don't know what is wrong as it still works with
  Hibernate
whereas I try to stay far from its specific features as you can see in
  this
bug report:
https://hibernate.atlassian.net/browse/HHH-9437
   
   
 Message du 14/10/14 17:45
 De : Rick Curtis
 A : users , goues...@orange.fr
 Copie à :
 Objet : Re: javax.persistence.EntityListeners is never called

 One thing that jumps out of your p.xml is the openjpa.Multithreaded
 property. I suggest you get rid of that property and ensure that you
aren't
 sharing EntityManager's across threads... but I don't think that is
related
 to the problem you are currently having.

 Can you post relevant snippets of your Entity?

 On Tue, Oct 14, 2014 at 10:39 AM, wrote:

  Sorry for the confusion. No I'm not using those callbacks on an
Embeddable
  but when I switched to OpenJPA, I remember that I had to add the
classes
  with @Embeddable into persistence.xml whereas it wasn't necessary
  with
  Hibernate.
 
  The class that uses those callbacks uses the annotation @Singleton,
  removing it doesn't solve my problem.
 
  Please find enclosed the file.
 
 
   Message du 14/10/14 17:31
   De : Rick Curtis
   A : users , goues...@orange.fr
   Copie à :
   Objet : Re: javax.persistence.EntityListeners is never called
  
  
  2.4.x is the latest.
 
  
  If I understand your previous posts, are you using
  callbacks(@Preload,
  @Postload, etc, etc) on an Embeddable

Re: javax.persistence.EntityListeners is never called

2014-10-16 Thread Rick Curtis
 I had to disable checkstyle and to fix a compile error to build OpenJPA.
The test passes.
Yes, sorry I just committed a fix for that. Please do an update and let me
know if you're still having compile problems.

I think that you should have a separate listener class and have the
singleton bean injected into it.

On Thu, Oct 16, 2014 at 11:08 AM, goues...@orange.fr wrote:

 I had to disable checkstyle and to fix a compile error to build OpenJPA.
 The test passes.

 However, the contract of the annotation javax.ejb.Singleton isn't
 respected by OpenEJB whereas it is respected by Hibernate. This is the only
 difference that I have found. I just put a log message into the constructor
 of the annotated class.




  Message du 15/10/14 17:25
  De : Rick Curtis
  A : users , goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
  Yes, there are numerous unit tests, please take a look at the one that
 I've
  noted below.
 
 
 https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/TestEntityListeners.java
 
  On Wed, Oct 15, 2014 at 10:00 AM,  wrote:
 
   Are there any unit tests that I can run and modify to reproduce my
   problem? This is typically what I do with JogAmp.
  
Message du 15/10/14 16:42
De : Rick Curtis
A : users , goues...@orange.fr
Copie à :
Objet : Re: javax.persistence.EntityListeners is never called
   
Getting rid of this property doesn't solve my problem.
Sorry about muddying the waters. As I stated, that suggestion isn't
   related
to the current problem... it is a best practice. That property is
 busted
and you can fairly easily get into deadlocks.
   
I am still confused The reason @PostLoad isn't called is because your
snippets look good. Can I have you put together some sort of a
   recreatable
test? That will help speed up diagnosis.
   
Thanks,
Rick
   
On Wed, Oct 15, 2014 at 4:35 AM, wrote:
   
 Getting rid of this property doesn't solve my problem.

 My listener:

 @Singleton
 public class MultiLangStringEntityListener {

 @PostLoad
 @SuppressWarnings(UseSpecificCatch)
 public void postLoad(Object entity) {


 An entity:
 @Entity
 @EntityListeners({MultiLangStringEntityListener.class})
 @Table(name = THEME)
 @XmlRootElement(name = Theme)
 @NamedQueries({
 @NamedQuery(name = DmTheme.findAll, query = SELECT d FROM
 DmTheme
   d)})
 public class Theme implements Serializable {
 private static final long serialVersionUID = 1L;
 // @Max(value=?) @Min(value=?)//if you know range of your decimal
   fields
 consider using these annotations to enforce field validation
 @Id
 @Basic(optional = false)
 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
 SEQ_THEME)
 @SequenceGenerator(name = SEQ_THEME, sequenceName = SEQ_THEME,
 allocationSize = 1)
 @Column(name = ID)
 private BigInteger id;
 @Embedded
 @AttributeOverrides({
 @AttributeOverride(name = id, column = @Column(name = DESCR,
 nullable=false)),
 @AttributeOverride(name = lang, column = @Column(insertable =
 false,
 updatable = false, name = DESCR)),
 @AttributeOverride(name = text, column = @Column(insertable =
 false,
 updatable = false, name = DESCR))
 })
 private MultiLangString descr;


 The embeddable class:

 @Embeddable
 public class MultiLangString implements Serializable {

 private static final long serialVersionUID = 1L;
 private String id;
 private String lang;
 private String text;

 public MultiLangString() {
 }


 Some of my entity classes use both @Embedded and @EmbeddedId but
 not on
 the same field. I don't know what is wrong as it still works with
   Hibernate
 whereas I try to stay far from its specific features as you can
 see in
   this
 bug report:
 https://hibernate.atlassian.net/browse/HHH-9437


  Message du 14/10/14 17:45
  De : Rick Curtis
  A : users , goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
  One thing that jumps out of your p.xml is the
 openjpa.Multithreaded
  property. I suggest you get rid of that property and ensure that
 you
 aren't
  sharing EntityManager's across threads... but I don't think that
 is
 related
  to the problem you are currently having.
 
  Can you post relevant snippets of your Entity?
 
  On Tue, Oct 14, 2014 at 10:39 AM, wrote:
 
   Sorry for the confusion. No I'm not using those callbacks on an
 Embeddable
   but when I switched to OpenJPA, I remember that I had to add
 the
 classes
   with @Embeddable into persistence.xml whereas it wasn't
 necessary
   with
   Hibernate.
  
   The class

Re: javax.persistence.EntityListeners is never called

2014-10-15 Thread gouessej
Getting rid of this property doesn't solve my problem.

My listener:

@Singleton
public class MultiLangStringEntityListener {

@PostLoad
@SuppressWarnings(UseSpecificCatch)
public void postLoad(Object entity) {


An entity:
@Entity
@EntityListeners({MultiLangStringEntityListener.class})
@Table(name = THEME)
@XmlRootElement(name = Theme)
@NamedQueries({
@NamedQuery(name = DmTheme.findAll, query = SELECT d FROM DmTheme d)})
public class Theme implements Serializable {
private static final long serialVersionUID = 1L;
// @Max(value=?) @Min(value=?)//if you know range of your decimal fields 
consider using these annotations to enforce field validation
@Id
@Basic(optional = false)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = SEQ_THEME)
@SequenceGenerator(name = SEQ_THEME, sequenceName = SEQ_THEME, 
allocationSize = 1)
@Column(name = ID)
private BigInteger id;
@Embedded
@AttributeOverrides({
@AttributeOverride(name = id, column = @Column(name = DESCR, 
nullable=false)),
@AttributeOverride(name = lang, column = @Column(insertable = false, 
updatable = false, name = DESCR)),
@AttributeOverride(name = text, column = @Column(insertable = false, 
updatable = false, name = DESCR))
})
private MultiLangString descr;


The embeddable class:

@Embeddable
public class MultiLangString implements Serializable {

private static final long serialVersionUID = 1L;
private String id;
private String lang;
private String text;

public MultiLangString() {
}


Some of my entity classes use both @Embedded and @EmbeddedId but not on the 
same field. I don't know what is wrong as it still works with Hibernate whereas 
I try to stay far from its specific features as you can see in this bug report:
https://hibernate.atlassian.net/browse/HHH-9437


 Message du 14/10/14 17:45
 De : Rick Curtis 
 A : users , goues...@orange.fr
 Copie à : 
 Objet : Re: javax.persistence.EntityListeners is never called
 
 One thing that jumps out of your p.xml is the openjpa.Multithreaded
 property. I suggest you get rid of that property and ensure that you aren't
 sharing EntityManager's across threads... but I don't think that is related
 to the problem you are currently having.
 
 Can you post relevant snippets of your Entity?
 
 On Tue, Oct 14, 2014 at 10:39 AM,  wrote:
 
  Sorry for the confusion. No I'm not using those callbacks on an Embeddable
  but when I switched to OpenJPA, I remember that I had to add the classes
  with @Embeddable into persistence.xml whereas it wasn't necessary with
  Hibernate.
 
  The class that uses those callbacks uses the annotation @Singleton,
  removing it doesn't solve my problem.
 
  Please find enclosed the file.
 
 
   Message du 14/10/14 17:31
   De : Rick Curtis
   A : users , goues...@orange.fr
   Copie à :
   Objet : Re: javax.persistence.EntityListeners is never called
  
  
  2.4.x is the latest.
 
  
  If I understand your previous posts, are you using callbacks(@Preload,
  @Postload, etc, etc) on an Embeddable? If that is the case, I'm not sure if
  it is suppose to work? Can I have you post some Entity/embeddable snippets
  so we can better understand what you want to do?
 
  
  Thanks,
  Rick
  
 
  
 
  
 
 
 
  
  On Tue, Oct 14, 2014 at 8:20 AM, wrote:
  
  I use OpenJPA 2.4.0. I'm going to try with a more recent version if any.
  
  
  
  
  
  
Message du 14/10/14 00:14
De : Kevin Sutter
A : users@openjpa.apache.org, goues...@orange.fr
Copie à :
Objet : Re: javax.persistence.EntityListeners is never called
   
Hi,
The complete trace can be turned on via this property in your p.xml:
   
   
   
Good luck,
Kevin
  
 
  
On Mon, Oct 13, 2014 at 1:01 PM, wrote:
   
 Hi

 I use Apache OpenEJB 4.7.1 (probably OpenJPA 2.2 or 2.3). I have
  looked at
 the logs and I have already done my best to force the persistence of
  all
 entity classes including those Hibernate was able to discover alone,
  for
 example the class using @Embeddable. As I'm currently not at work, I
  can't
 post the persistence.xml but I'll do it tomorrow. What should I turn
  on to
 get some more trace? Thank you for your help.




  Message du 13/10/14 19:07
  De : Kevin Sutter
  A : users@openjpa.apache.org, goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
  Hi,
  EntityListeners should work just fine with OpenJPA. What version of
  OpenJPA are you using? The basic support is documented here:
 

  http://ci.apache.org/projects/openjpa/trunk/docbook/manual.html#jpa_overview_pc_callbacks
 
  Are there any other messages in the logs that indicate an issue?
  Have you
  tried turning on Trace to ensure that normal persistence
  processing is
  happening? Can you post your p.xml? Like I mentioned, this should
  all
  just work. We'll need a bit more context to help figure out the
  problem.
 
  Kevin
 
  On Mon

Re: javax.persistence.EntityListeners is never called

2014-10-15 Thread gouessej
Are there any unit tests that I can run and modify to reproduce my problem? 
This is typically what I do with JogAmp.

 Message du 15/10/14 16:42
 De : Rick Curtis 
 A : users , goues...@orange.fr
 Copie à : 
 Objet : Re: javax.persistence.EntityListeners is never called
 
 Getting rid of this property doesn't solve my problem.
 Sorry about muddying the waters. As I stated, that suggestion isn't related
 to the current problem... it is a best practice. That property is busted
 and you can fairly easily get into deadlocks.
 
 I am still confused The reason @PostLoad isn't called is because your
 snippets look good. Can I have you put together some sort of a recreatable
 test? That will help speed up diagnosis.
 
 Thanks,
 Rick
 
 On Wed, Oct 15, 2014 at 4:35 AM,  wrote:
 
  Getting rid of this property doesn't solve my problem.
 
  My listener:
 
  @Singleton
  public class MultiLangStringEntityListener {
 
  @PostLoad
  @SuppressWarnings(UseSpecificCatch)
  public void postLoad(Object entity) {
 
 
  An entity:
  @Entity
  @EntityListeners({MultiLangStringEntityListener.class})
  @Table(name = THEME)
  @XmlRootElement(name = Theme)
  @NamedQueries({
  @NamedQuery(name = DmTheme.findAll, query = SELECT d FROM DmTheme d)})
  public class Theme implements Serializable {
  private static final long serialVersionUID = 1L;
  // @Max(value=?) @Min(value=?)//if you know range of your decimal fields
  consider using these annotations to enforce field validation
  @Id
  @Basic(optional = false)
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
  SEQ_THEME)
  @SequenceGenerator(name = SEQ_THEME, sequenceName = SEQ_THEME,
  allocationSize = 1)
  @Column(name = ID)
  private BigInteger id;
  @Embedded
  @AttributeOverrides({
  @AttributeOverride(name = id, column = @Column(name = DESCR,
  nullable=false)),
  @AttributeOverride(name = lang, column = @Column(insertable = false,
  updatable = false, name = DESCR)),
  @AttributeOverride(name = text, column = @Column(insertable = false,
  updatable = false, name = DESCR))
  })
  private MultiLangString descr;
 
 
  The embeddable class:
 
  @Embeddable
  public class MultiLangString implements Serializable {
 
  private static final long serialVersionUID = 1L;
  private String id;
  private String lang;
  private String text;
 
  public MultiLangString() {
  }
 
 
  Some of my entity classes use both @Embedded and @EmbeddedId but not on
  the same field. I don't know what is wrong as it still works with Hibernate
  whereas I try to stay far from its specific features as you can see in this
  bug report:
  https://hibernate.atlassian.net/browse/HHH-9437
 
 
   Message du 14/10/14 17:45
   De : Rick Curtis
   A : users , goues...@orange.fr
   Copie à :
   Objet : Re: javax.persistence.EntityListeners is never called
  
   One thing that jumps out of your p.xml is the openjpa.Multithreaded
   property. I suggest you get rid of that property and ensure that you
  aren't
   sharing EntityManager's across threads... but I don't think that is
  related
   to the problem you are currently having.
  
   Can you post relevant snippets of your Entity?
  
   On Tue, Oct 14, 2014 at 10:39 AM, wrote:
  
Sorry for the confusion. No I'm not using those callbacks on an
  Embeddable
but when I switched to OpenJPA, I remember that I had to add the
  classes
with @Embeddable into persistence.xml whereas it wasn't necessary with
Hibernate.
   
The class that uses those callbacks uses the annotation @Singleton,
removing it doesn't solve my problem.
   
Please find enclosed the file.
   
   
 Message du 14/10/14 17:31
 De : Rick Curtis
 A : users , goues...@orange.fr
 Copie à :
 Objet : Re: javax.persistence.EntityListeners is never called


2.4.x is the latest.
   

If I understand your previous posts, are you using callbacks(@Preload,
@Postload, etc, etc) on an Embeddable? If that is the case, I'm not
  sure if
it is suppose to work? Can I have you post some Entity/embeddable
  snippets
so we can better understand what you want to do?
   

Thanks,
Rick

   

   

   
   
   

On Tue, Oct 14, 2014 at 8:20 AM, wrote:

I use OpenJPA 2.4.0. I'm going to try with a more recent version if
  any.






  Message du 14/10/14 00:14
  De : Kevin Sutter
  A : users@openjpa.apache.org, goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
  Hi,
  The complete trace can be turned on via this property in your
  p.xml:
 
 
 
  Good luck,
  Kevin

   

  On Mon, Oct 13, 2014 at 1:01 PM, wrote:
 
   Hi
  
   I use Apache OpenEJB 4.7.1 (probably OpenJPA 2.2 or 2.3). I have
looked at
   the logs and I have already done my best to force the
  persistence of
all
   entity classes including those Hibernate was able

Re: javax.persistence.EntityListeners is never called

2014-10-15 Thread Rick Curtis
Yes, there are numerous unit tests, please take a look at the one that I've
noted below.

https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/callbacks/TestEntityListeners.java

On Wed, Oct 15, 2014 at 10:00 AM, goues...@orange.fr wrote:

 Are there any unit tests that I can run and modify to reproduce my
 problem? This is typically what I do with JogAmp.

  Message du 15/10/14 16:42
  De : Rick Curtis
  A : users , goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
  Getting rid of this property doesn't solve my problem.
  Sorry about muddying the waters. As I stated, that suggestion isn't
 related
  to the current problem... it is a best practice. That property is busted
  and you can fairly easily get into deadlocks.
 
  I am still confused The reason @PostLoad isn't called is because your
  snippets look good. Can I have you put together some sort of a
 recreatable
  test? That will help speed up diagnosis.
 
  Thanks,
  Rick
 
  On Wed, Oct 15, 2014 at 4:35 AM,  wrote:
 
   Getting rid of this property doesn't solve my problem.
  
   My listener:
  
   @Singleton
   public class MultiLangStringEntityListener {
  
   @PostLoad
   @SuppressWarnings(UseSpecificCatch)
   public void postLoad(Object entity) {
  
  
   An entity:
   @Entity
   @EntityListeners({MultiLangStringEntityListener.class})
   @Table(name = THEME)
   @XmlRootElement(name = Theme)
   @NamedQueries({
   @NamedQuery(name = DmTheme.findAll, query = SELECT d FROM DmTheme
 d)})
   public class Theme implements Serializable {
   private static final long serialVersionUID = 1L;
   // @Max(value=?) @Min(value=?)//if you know range of your decimal
 fields
   consider using these annotations to enforce field validation
   @Id
   @Basic(optional = false)
   @GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
   SEQ_THEME)
   @SequenceGenerator(name = SEQ_THEME, sequenceName = SEQ_THEME,
   allocationSize = 1)
   @Column(name = ID)
   private BigInteger id;
   @Embedded
   @AttributeOverrides({
   @AttributeOverride(name = id, column = @Column(name = DESCR,
   nullable=false)),
   @AttributeOverride(name = lang, column = @Column(insertable = false,
   updatable = false, name = DESCR)),
   @AttributeOverride(name = text, column = @Column(insertable = false,
   updatable = false, name = DESCR))
   })
   private MultiLangString descr;
  
  
   The embeddable class:
  
   @Embeddable
   public class MultiLangString implements Serializable {
  
   private static final long serialVersionUID = 1L;
   private String id;
   private String lang;
   private String text;
  
   public MultiLangString() {
   }
  
  
   Some of my entity classes use both @Embedded and @EmbeddedId but not on
   the same field. I don't know what is wrong as it still works with
 Hibernate
   whereas I try to stay far from its specific features as you can see in
 this
   bug report:
   https://hibernate.atlassian.net/browse/HHH-9437
  
  
Message du 14/10/14 17:45
De : Rick Curtis
A : users , goues...@orange.fr
Copie à :
Objet : Re: javax.persistence.EntityListeners is never called
   
One thing that jumps out of your p.xml is the openjpa.Multithreaded
property. I suggest you get rid of that property and ensure that you
   aren't
sharing EntityManager's across threads... but I don't think that is
   related
to the problem you are currently having.
   
Can you post relevant snippets of your Entity?
   
On Tue, Oct 14, 2014 at 10:39 AM, wrote:
   
 Sorry for the confusion. No I'm not using those callbacks on an
   Embeddable
 but when I switched to OpenJPA, I remember that I had to add the
   classes
 with @Embeddable into persistence.xml whereas it wasn't necessary
 with
 Hibernate.

 The class that uses those callbacks uses the annotation @Singleton,
 removing it doesn't solve my problem.

 Please find enclosed the file.


  Message du 14/10/14 17:31
  De : Rick Curtis
  A : users , goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
 
 2.4.x is the latest.

 
 If I understand your previous posts, are you using
 callbacks(@Preload,
 @Postload, etc, etc) on an Embeddable? If that is the case, I'm not
   sure if
 it is suppose to work? Can I have you post some Entity/embeddable
   snippets
 so we can better understand what you want to do?

 
 Thanks,
 Rick
 

 

 



 
 On Tue, Oct 14, 2014 at 8:20 AM, wrote:
 
 I use OpenJPA 2.4.0. I'm going to try with a more recent version if
   any.
 
 
 
 
 
 
   Message du 14/10/14 00:14
   De : Kevin Sutter
   A : users@openjpa.apache.org, goues...@orange.fr
   Copie à :
   Objet : Re: javax.persistence.EntityListeners is never

Re: javax.persistence.EntityListeners is never called

2014-10-14 Thread gouessej
Hi

One of the classes seems to be parsed twice according to the trace:
718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Loading metadata for 
class com.**.*.ejbs.utils.MultiLangString under mode [META][QUERY].
718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Parsing class 
com.**.*.ejbs.utils.MultiLangString.
718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Parsing package 
com.**.*.ejbs.utils.MultiLangString.
718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Generating default 
metadata for type com.**.*.ejbs.utils.MultiLangString.
718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Using reflection for 
metadata generation.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Set persistence-capable 
superclass of com.**.*.ejbs.utils.MultiLangString to null.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving embedded 
metadata for com.**.*.ejbs.utils.MultiLangString@2102741454.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Set persistence-capable 
superclass of com.**.*.ejbs.utils.MultiLangString to null.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving metadata for 
com.**.*.ejbs.utils.MultiLangString@1784722346.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field 
com.**.*.ejbs.utils.multilangstr...@1784722346.id.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field 
com.**.*.ejbs.utils.multilangstr...@1784722346.lang.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field 
com.**.*.ejbs.utils.multilangstr...@1784722346.text.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field 
com.**.*.ejbs.utils.multilangstr...@2102741454.id.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field 
com.**.*.ejbs.utils.multilangstr...@2102741454.lang.
733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field 
com.**.*.ejbs.utils.multilangstr...@2102741454.text.

com.**.*.ejbs.utils.MultiLangString uses the annotation @Embeddable.

This is the only suspicious thing I've found in the trace.

This is my persistence.xml file:

?xml version=1.0 encoding=UTF-8?





org.apache.openjpa.persistence.PersistenceProviderImpl

java:/*WebServicesDS
com.**.*.ejbs.utils.MultiLangString
NONE




























 Message du 14/10/14 00:14
 De : Kevin Sutter 
 A : users@openjpa.apache.org, goues...@orange.fr
 Copie à : 
 Objet : Re: javax.persistence.EntityListeners is never called
 
 Hi,
 The complete trace can be turned on via this property in your p.xml:
 
 
 
 Good luck,
 Kevin
 
 On Mon, Oct 13, 2014 at 1:01 PM,  wrote:
 
  Hi
 
  I use Apache OpenEJB 4.7.1 (probably OpenJPA 2.2 or 2.3). I have looked at
  the logs and I have already done my best to force the persistence of all
  entity classes including those Hibernate was able to discover alone, for
  example the class using @Embeddable. As I'm currently not at work, I can't
  post the persistence.xml but I'll do it tomorrow. What should I turn on to
  get some more trace? Thank you for your help.
 
 
 
 
   Message du 13/10/14 19:07
   De : Kevin Sutter
   A : users@openjpa.apache.org, goues...@orange.fr
   Copie à :
   Objet : Re: javax.persistence.EntityListeners is never called
  
   Hi,
   EntityListeners should work just fine with OpenJPA. What version of
   OpenJPA are you using? The basic support is documented here:
  
  http://ci.apache.org/projects/openjpa/trunk/docbook/manual.html#jpa_overview_pc_callbacks
  
   Are there any other messages in the logs that indicate an issue? Have you
   tried turning on Trace to ensure that normal persistence processing is
   happening? Can you post your p.xml? Like I mentioned, this should all
   just work. We'll need a bit more context to help figure out the problem.
  
   Kevin
  
   On Mon, Oct 13, 2014 at 10:56 AM, wrote:
  
Hello
   
I use javax.persistence.EntityListeners. The persistent classes of the
entities are correctly added into persistence.xml. My test case works
correctly with Hibernate and OpenJPA except that the annotated methods
(with @PostLoad, @PreUpdate, @PrePersist and @PostRemove) are never
  called
by OpenJPA whereas they are called by Hibernate. Am I missing anything
obvious? Best regards.
   
  
 



Re: javax.persistence.EntityListeners is never called

2014-10-14 Thread Kevin Sutter
Hi,
Your p.xml didn't post correctly... I'm curious what the NONE setting is
for...

At this point, nothing else is jumping out at me...

Kevin

On Tue, Oct 14, 2014 at 4:30 AM, goues...@orange.fr wrote:

 Hi

 One of the classes seems to be parsed twice according to the trace:
 718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Loading metadata
 for class com.**.*.ejbs.utils.MultiLangString under mode
 [META][QUERY].
 718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Parsing class
 com.**.*.ejbs.utils.MultiLangString.
 718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Parsing package
 com.**.*.ejbs.utils.MultiLangString.
 718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Generating default
 metadata for type com.**.*.ejbs.utils.MultiLangString.
 718 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Using reflection
 for metadata generation.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Set
 persistence-capable superclass of
 com.**.*.ejbs.utils.MultiLangString to null.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving embedded
 metadata for com.**.*.ejbs.utils.MultiLangString@2102741454.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Set
 persistence-capable superclass of
 com.**.*.ejbs.utils.MultiLangString to null.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving metadata
 for com.**.*.ejbs.utils.MultiLangString@1784722346.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field
 com.**.*.ejbs.utils.multilangstr...@1784722346.id.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field
 com.**.*.ejbs.utils.multilangstr...@1784722346.lang.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field
 com.**.*.ejbs.utils.multilangstr...@1784722346.text.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field
 com.**.*.ejbs.utils.multilangstr...@2102741454.id.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field
 com.**.*.ejbs.utils.multilangstr...@2102741454.lang.
 733 RCSDMWebServicesPU TRACE [main] openjpa.MetaData - Resolving field
 com.**.*.ejbs.utils.multilangstr...@2102741454.text.

 com.**.*.ejbs.utils.MultiLangString uses the annotation
 @Embeddable.

 This is the only suspicious thing I've found in the trace.

 This is my persistence.xml file:

 ?xml version=1.0 encoding=UTF-8?





 org.apache.openjpa.persistence.PersistenceProviderImpl

 java:/*WebServicesDS
 com.**.*.ejbs.utils.MultiLangString
 NONE




























  Message du 14/10/14 00:14
  De : Kevin Sutter
  A : users@openjpa.apache.org, goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
  Hi,
  The complete trace can be turned on via this property in your p.xml:
 
 
 
  Good luck,
  Kevin
 
  On Mon, Oct 13, 2014 at 1:01 PM,  wrote:
 
   Hi
  
   I use Apache OpenEJB 4.7.1 (probably OpenJPA 2.2 or 2.3). I have
 looked at
   the logs and I have already done my best to force the persistence of
 all
   entity classes including those Hibernate was able to discover alone,
 for
   example the class using @Embeddable. As I'm currently not at work, I
 can't
   post the persistence.xml but I'll do it tomorrow. What should I turn
 on to
   get some more trace? Thank you for your help.
  
  
  
  
Message du 13/10/14 19:07
De : Kevin Sutter
A : users@openjpa.apache.org, goues...@orange.fr
Copie à :
Objet : Re: javax.persistence.EntityListeners is never called
   
Hi,
EntityListeners should work just fine with OpenJPA. What version of
OpenJPA are you using? The basic support is documented here:
   
  
 http://ci.apache.org/projects/openjpa/trunk/docbook/manual.html#jpa_overview_pc_callbacks
   
Are there any other messages in the logs that indicate an issue?
 Have you
tried turning on Trace to ensure that normal persistence processing
 is
happening? Can you post your p.xml? Like I mentioned, this should all
just work. We'll need a bit more context to help figure out the
 problem.
   
Kevin
   
On Mon, Oct 13, 2014 at 10:56 AM, wrote:
   
 Hello

 I use javax.persistence.EntityListeners. The persistent classes of
 the
 entities are correctly added into persistence.xml. My test case
 works
 correctly with Hibernate and OpenJPA except that the annotated
 methods
 (with @PostLoad, @PreUpdate, @PrePersist and @PostRemove) are never
   called
 by OpenJPA whereas they are called by Hibernate. Am I missing
 anything
 obvious? Best regards.

   
  
 



Re: javax.persistence.EntityListeners is never called

2014-10-14 Thread Rick Curtis
2.4.x is the latest.

If I understand your previous posts, are you using callbacks(@Preload,
@Postload, etc, etc) on an Embeddable? If that is the case, I'm not sure if
it is suppose to work? Can I have you post some Entity/embeddable snippets
so we can better understand what you want to do?

Thanks,
Rick



On Tue, Oct 14, 2014 at 8:20 AM, goues...@orange.fr wrote:

 I use OpenJPA 2.4.0. I'm going to try with a more recent version if any.






  Message du 14/10/14 00:14
  De : Kevin Sutter
  A : users@openjpa.apache.org, goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
  Hi,
  The complete trace can be turned on via this property in your p.xml:
 
 
 
  Good luck,
  Kevin
 
  On Mon, Oct 13, 2014 at 1:01 PM,  wrote:
 
   Hi
  
   I use Apache OpenEJB 4.7.1 (probably OpenJPA 2.2 or 2.3). I have
 looked at
   the logs and I have already done my best to force the persistence of
 all
   entity classes including those Hibernate was able to discover alone,
 for
   example the class using @Embeddable. As I'm currently not at work, I
 can't
   post the persistence.xml but I'll do it tomorrow. What should I turn
 on to
   get some more trace? Thank you for your help.
  
  
  
  
Message du 13/10/14 19:07
De : Kevin Sutter
A : users@openjpa.apache.org, goues...@orange.fr
Copie à :
Objet : Re: javax.persistence.EntityListeners is never called
   
Hi,
EntityListeners should work just fine with OpenJPA. What version of
OpenJPA are you using? The basic support is documented here:
   
  
 http://ci.apache.org/projects/openjpa/trunk/docbook/manual.html#jpa_overview_pc_callbacks
   
Are there any other messages in the logs that indicate an issue?
 Have you
tried turning on Trace to ensure that normal persistence processing
 is
happening? Can you post your p.xml? Like I mentioned, this should all
just work. We'll need a bit more context to help figure out the
 problem.
   
Kevin
   
On Mon, Oct 13, 2014 at 10:56 AM, wrote:
   
 Hello

 I use javax.persistence.EntityListeners. The persistent classes of
 the
 entities are correctly added into persistence.xml. My test case
 works
 correctly with Hibernate and OpenJPA except that the annotated
 methods
 (with @PostLoad, @PreUpdate, @PrePersist and @PostRemove) are never
   called
 by OpenJPA whereas they are called by Hibernate. Am I missing
 anything
 obvious? Best regards.

   
  
 




-- 
*Rick Curtis*


Re: javax.persistence.EntityListeners is never called

2014-10-13 Thread Kevin Sutter
Hi,
EntityListeners should work just fine with OpenJPA.  What version of
OpenJPA are you using?  The basic support is documented here:
http://ci.apache.org/projects/openjpa/trunk/docbook/manual.html#jpa_overview_pc_callbacks

Are there any other messages in the logs that indicate an issue?  Have you
tried turning on Trace to ensure that normal persistence processing is
happening?  Can you post your p.xml?  Like I mentioned, this should all
just work.  We'll need a bit more context to help figure out the problem.

Kevin

On Mon, Oct 13, 2014 at 10:56 AM, goues...@orange.fr wrote:

 Hello

 I use javax.persistence.EntityListeners. The persistent classes of the
 entities are correctly added into persistence.xml. My test case works
 correctly with Hibernate and OpenJPA except that the annotated methods
 (with @PostLoad, @PreUpdate, @PrePersist and @PostRemove) are never called
 by OpenJPA whereas they are called by Hibernate. Am I missing anything
 obvious? Best regards.



Re: javax.persistence.EntityListeners is never called

2014-10-13 Thread gouessej
Hi

I use Apache OpenEJB 4.7.1 (probably OpenJPA 2.2 or 2.3). I have looked at the 
logs and I have already done my best to force the persistence of all entity 
classes including those Hibernate was able to discover alone, for example the 
class using @Embeddable. As I'm currently not at work, I can't post the 
persistence.xml but I'll do it tomorrow. What should I turn on to get some more 
trace? Thank you for your help.




 Message du 13/10/14 19:07
 De : Kevin Sutter 
 A : users@openjpa.apache.org, goues...@orange.fr
 Copie à : 
 Objet : Re: javax.persistence.EntityListeners is never called
 
 Hi,
 EntityListeners should work just fine with OpenJPA. What version of
 OpenJPA are you using? The basic support is documented here:
 http://ci.apache.org/projects/openjpa/trunk/docbook/manual.html#jpa_overview_pc_callbacks
 
 Are there any other messages in the logs that indicate an issue? Have you
 tried turning on Trace to ensure that normal persistence processing is
 happening? Can you post your p.xml? Like I mentioned, this should all
 just work. We'll need a bit more context to help figure out the problem.
 
 Kevin
 
 On Mon, Oct 13, 2014 at 10:56 AM,  wrote:
 
  Hello
 
  I use javax.persistence.EntityListeners. The persistent classes of the
  entities are correctly added into persistence.xml. My test case works
  correctly with Hibernate and OpenJPA except that the annotated methods
  (with @PostLoad, @PreUpdate, @PrePersist and @PostRemove) are never called
  by OpenJPA whereas they are called by Hibernate. Am I missing anything
  obvious? Best regards.
 



Re: javax.persistence.EntityListeners is never called

2014-10-13 Thread Kevin Sutter
Hi,
The complete trace can be turned on via this property in your p.xml:

property name=openjpa.Log value=DefaultLevel=TRACE/

Good luck,
Kevin

On Mon, Oct 13, 2014 at 1:01 PM, goues...@orange.fr wrote:

 Hi

 I use Apache OpenEJB 4.7.1 (probably OpenJPA 2.2 or 2.3). I have looked at
 the logs and I have already done my best to force the persistence of all
 entity classes including those Hibernate was able to discover alone, for
 example the class using @Embeddable. As I'm currently not at work, I can't
 post the persistence.xml but I'll do it tomorrow. What should I turn on to
 get some more trace? Thank you for your help.




  Message du 13/10/14 19:07
  De : Kevin Sutter
  A : users@openjpa.apache.org, goues...@orange.fr
  Copie à :
  Objet : Re: javax.persistence.EntityListeners is never called
 
  Hi,
  EntityListeners should work just fine with OpenJPA. What version of
  OpenJPA are you using? The basic support is documented here:
 
 http://ci.apache.org/projects/openjpa/trunk/docbook/manual.html#jpa_overview_pc_callbacks
 
  Are there any other messages in the logs that indicate an issue? Have you
  tried turning on Trace to ensure that normal persistence processing is
  happening? Can you post your p.xml? Like I mentioned, this should all
  just work. We'll need a bit more context to help figure out the problem.
 
  Kevin
 
  On Mon, Oct 13, 2014 at 10:56 AM,  wrote:
 
   Hello
  
   I use javax.persistence.EntityListeners. The persistent classes of the
   entities are correctly added into persistence.xml. My test case works
   correctly with Hibernate and OpenJPA except that the annotated methods
   (with @PostLoad, @PreUpdate, @PrePersist and @PostRemove) are never
 called
   by OpenJPA whereas they are called by Hibernate. Am I missing anything
   obvious? Best regards.