You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by yokenji <ke...@gmail.com> on 2009/11/16 17:46:48 UTC
@Version annotation
Hi there,
I trying to use an annotatoin field @version but when updating the record i
don't see any version in the database.
Also,
Element class:
package entities;
import java.io.Serializable;
import java.util.Set;
import javax.annotation.Generated;
import javax.persistence.CascadeType;
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.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;
import org.apache.openjpa.persistence.jdbc.ForeignKey;
/**
* @author Ken
*/
@Entity
@NamedQueries({
@NamedQuery(name="roots.Element",
query="Select e From Element e" +
" where e.parentElement is null"),
@NamedQuery(name="one.Element",
query="Select e From Element e" +
" where e.dbID = :id")
})
@Table(name="Element")
public class Element implements ElementInterface, Serializable {
private static final long serialVersionUID = 4627343050926103812L;
private String dbID;
private String internID;
private String name;
private String description;
private long version;
private Set<Property> properties;
private Element parentElement;
private Set<Element> childElements;
/**
* This is the default constructor.
*/
public Element() {
}
/**
* @see entities.ElementInterface#setDbID(java.lang.String)
*/
public void setDbID(String dbID) {
this.dbID = dbID;
}
/**
* @see entities.ElementInterface#getDbID()
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator="uuid-hex")
public String getDbID() {
return this.dbID;
}
/**
* @see entities.ElementInterface#setInternID(java.lang.String)
*/
public void setInternID(String internID) {
this.internID = internID;
}
/**
* @see entities.ElementInterface#getInternID()
*/
public String getInternID() {
return this.internID;
}
/**
* @see entities.ElementInterface#getName()
*/
public String getName() {
return this.name;
}
/**
* @see entities.ElementInterface#setName(java.lang.String)
*/
public void setName(String name) {
this.name = name;
}
/**
* @see entities.ElementInterface#setDescription(java.lang.String)
*/
public void setDescription(String description) {
this.description = description;
}
/**
* @see entities.ElementInterface#getDescription()
*/
public String getDescription() {
return this.description;
}
/**
* @see entities.ElementInterface#setVersion(java.util.Date)
*/
private void setVersion(int version) {
this.version = version;
}
/**
* @see entities.ElementInterface#getVersion()
*/
@Version
@GeneratedValue(strategy=GenerationType.AUTO)
public long getVersion() {
return this.version;
}
/**
* Set the element properties.
*
* @param Set<Property> properties
*/
public void setProperties(Set<Property> properties) {
this.properties = properties;
}
/**
* Get the element properties.
*
* @return Set<Property>
*/
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER,
mappedBy="element")
public Set<Property> getProperties() {
return properties;
}
/**
* Set the element parent.
*
* @param Element parentElement
*/
public void setParentElement(Element parentElement) {
this.parentElement = parentElement;
}
/**
* Get the element parent.
*
* @return Element
*/
@ManyToOne(optional=true, fetch=FetchType.LAZY)
@ForeignKey(name="FK_parent_element")
@JoinColumn(name="parent_element", referencedColumnName="dbID")
public Element getParentElement() {
return parentElement;
}
/**
* Set the element children.
*
* @param Set<Element> childElements
*/
public void setChildElements(Set<Element> childElements) {
this.childElements = childElements;
}
/**
* Get the element children.
*
* @return Set<Element>
*/
@OneToMany(cascade=CascadeType.ALL, mappedBy="parentElement",
fetch=FetchType.EAGER)
public Set<Element> getChildElements() {
return childElements;
}
}
Class Property:
package entities;
import java.io.Serializable;
import javax.persistence.*;
import org.apache.openjpa.persistence.jdbc.ForeignKey;
/**
* @author Ken
*/
@Entity
@NamedQueries({
@NamedQuery(name="all.properties",
query="Select p From Property p"),
@NamedQuery(name="elementTemplate.properties",
query="Select p From Property p" +
" where p.elementTemplate = :owner"),
@NamedQuery(name="one.property",
query="Select p From Property p" +
" where p.dbID = :id")
})
@Table(name="Property")
public class Property implements Serializable {
private static final long serialVersionUID = -6988886476498387460L;
private String dbID;
private String property;
private String value;
private Element element;
private ElementTemplate elementTemplate;
/**
* This is the default constructor.
*/
public Property() {
}
/**
* Set the property dbID.
*
* @param String dbID
*/
public void setDbID(String dbID) {
this.dbID = dbID;
}
/**
* Get the property dbID.
*
* @return
*/
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="uuid-hex")
public String getDbID() {
return this.dbID;
}
/**
* Set the property property
*
* @param String property
*/
public void setProperty(String property) {
this.property = property;
}
/**
* Get the property property.
*
* @return String
*/
public String getProperty() {
return property;
}
/**
* Set the property value.
*
* @param String value
*/
public void setValue(String value) {
this.value = value;
}
/**
* Get the property value.
*
* @return String
*/
public String getValue() {
return value;
}
/**
* Set property element.
*
* @param Element element
*/
public void setElement(Element element) {
this.element = element;
}
/**
* Get the property element.
*
* @return Element
*/
@ManyToOne(fetch=FetchType.LAZY)
@ForeignKey(name="FK_property_element")
@JoinColumn(name="element")
public Element getElement() {
return element;
}
/**
* Set the property elementTemplate.
*
* @param ElementTemplate elementTemplate
*/
public void setElementTemplate(ElementTemplate elementTemplate) {
this.elementTemplate = elementTemplate;
}
/**
* Get the property elementTemplate.
*
* @return ElementTemplate
*/
@ManyToOne(fetch=FetchType.LAZY)
@ForeignKey(name="FK_property_elementTemplate")
@JoinColumn(name="elementTemplate")
public ElementTemplate getElementTemplate() {
return elementTemplate;
}
}
to update the element I do this:
Element element = em.find(Element.class, elementID);
//Add changements to the element
// update the element.
em.persist(element);
The update worked but I don't see any version number in my database field.
Please help :)
--
View this message in context: http://n2.nabble.com/Version-annotation-tp4013067p4013067.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: @Version annotation
Posted by Michael Dick <mi...@gmail.com>.
On Mon, Nov 16, 2009 at 5:57 PM, Craig L Russell <Cr...@sun.com>wrote:
> Seems like it would be useful for OpenJPA to issue a warning or an error in
> the case of the user specifying both @Version and @GeneratedValue on the
> same property.
>
+1
-mike
> Craig
>
>
> On Nov 16, 2009, at 9:08 AM, Fay Wang wrote:
>
> Hi,
>> You don't need to put generatedValue annotation for the version field.
>> Openjpa will keep track of the version for you.
>>
>> @Version
>> public long getVersion() {
>> return this.version;
>> }
>>
>>
>>
>> ----- Original Message ----
>> From: yokenji <ke...@gmail.com>
>> To: users@openjpa.apache.org
>> Sent: Mon, November 16, 2009 8:46:48 AM
>> Subject: @Version annotation
>>
>>
>> Hi there,
>>
>> I trying to use an annotatoin field @version but when updating the record
>> i
>> don't see any version in the database.
>>
>> Also,
>> Element class:
>>
>> package entities;
>>
>> import java.io.Serializable;
>> import java.util.Set;
>>
>> import javax.annotation.Generated;
>> import javax.persistence.CascadeType;
>> 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.OneToMany;
>> import javax.persistence.Table;
>> import javax.persistence.Temporal;
>> import javax.persistence.TemporalType;
>> import javax.persistence.Version;
>>
>> import org.apache.openjpa.persistence.jdbc.ForeignKey;
>>
>> /**
>> * @author Ken
>> */
>> @Entity
>> @NamedQueries({
>> @NamedQuery(name="roots.Element",
>> query="Select e From Element e" +
>> " where e.parentElement is null"),
>> @NamedQuery(name="one.Element",
>> query="Select e From Element e" +
>> " where e.dbID = :id")
>> })
>> @Table(name="Element")
>> public class Element implements ElementInterface, Serializable {
>>
>> private static final long serialVersionUID = 4627343050926103812L;
>>
>> private String dbID;
>> private String internID;
>> private String name;
>> private String description;
>> private long version;
>>
>> private Set<Property> properties;
>> private Element parentElement;
>> private Set<Element> childElements;
>>
>> /**
>> * This is the default constructor.
>> */
>> public Element() {
>> }
>>
>> /**
>> * @see entities.ElementInterface#setDbID(java.lang.String)
>> */
>> public void setDbID(String dbID) {
>> this.dbID = dbID;
>> }
>>
>> /**
>> * @see entities.ElementInterface#getDbID()
>> */
>> @Id
>> @GeneratedValue(strategy = GenerationType.AUTO, generator="uuid-hex")
>> public String getDbID() {
>> return this.dbID;
>> }
>>
>> /**
>> * @see entities.ElementInterface#setInternID(java.lang.String)
>> */
>> public void setInternID(String internID) {
>> this.internID = internID;
>> }
>>
>> /**
>> * @see entities.ElementInterface#getInternID()
>> */
>> public String getInternID() {
>> return this.internID;
>> }
>>
>>
>> /**
>> * @see entities.ElementInterface#getName()
>> */
>> public String getName() {
>> return this.name;
>> }
>>
>> /**
>> * @see entities.ElementInterface#setName(java.lang.String)
>> */
>> public void setName(String name) {
>> this.name = name;
>> }
>>
>> /**
>> * @see entities.ElementInterface#setDescription(java.lang.String)
>> */
>> public void setDescription(String description) {
>> this.description = description;
>> }
>>
>> /**
>> * @see entities.ElementInterface#getDescription()
>> */
>> public String getDescription() {
>> return this.description;
>> }
>>
>> /**
>> * @see entities.ElementInterface#setVersion(java.util.Date)
>> */
>> private void setVersion(int version) {
>> this.version = version;
>> }
>>
>> /**
>> * @see entities.ElementInterface#getVersion()
>> */
>> @Version
>> @GeneratedValue(strategy=GenerationType.AUTO)
>> public long getVersion() {
>> return this.version;
>> }
>>
>> /**
>> * Set the element properties.
>> *
>> * @param Set<Property> properties
>> */
>> public void setProperties(Set<Property> properties) {
>> this.properties = properties;
>> }
>>
>> /**
>> * Get the element properties.
>> *
>> * @return Set<Property>
>> */
>> @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER,
>> mappedBy="element")
>> public Set<Property> getProperties() {
>> return properties;
>> }
>>
>> /**
>> * Set the element parent.
>> *
>> * @param Element parentElement
>> */
>> public void setParentElement(Element parentElement) {
>> this.parentElement = parentElement;
>> }
>>
>> /**
>> * Get the element parent.
>> *
>> * @return Element
>> */
>> @ManyToOne(optional=true, fetch=FetchType.LAZY)
>> @ForeignKey(name="FK_parent_element")
>> @JoinColumn(name="parent_element", referencedColumnName="dbID")
>> public Element getParentElement() {
>> return parentElement;
>> }
>>
>> /**
>> * Set the element children.
>> *
>> * @param Set<Element> childElements
>> */
>> public void setChildElements(Set<Element> childElements) {
>> this.childElements = childElements;
>> }
>>
>> /**
>> * Get the element children.
>> *
>> * @return Set<Element>
>> */
>> @OneToMany(cascade=CascadeType.ALL, mappedBy="parentElement",
>> fetch=FetchType.EAGER)
>> public Set<Element> getChildElements() {
>> return childElements;
>> }
>>
>> }
>>
>> Class Property:
>>
>>
>> package entities;
>>
>> import java.io.Serializable;
>> import javax.persistence.*;
>> import org.apache.openjpa.persistence.jdbc.ForeignKey;
>>
>> /**
>> * @author Ken
>> */
>> @Entity
>> @NamedQueries({
>> @NamedQuery(name="all.properties",
>> query="Select p From Property p"),
>> @NamedQuery(name="elementTemplate.properties",
>> query="Select p From Property p" +
>> " where p.elementTemplate = :owner"),
>> @NamedQuery(name="one.property",
>> query="Select p From Property p" +
>> " where p.dbID = :id")
>> })
>> @Table(name="Property")
>> public class Property implements Serializable {
>>
>> private static final long serialVersionUID = -6988886476498387460L;
>>
>> private String dbID;
>> private String property;
>> private String value;
>> private Element element;
>> private ElementTemplate elementTemplate;
>>
>> /**
>> * This is the default constructor.
>> */
>> public Property() {
>> }
>>
>> /**
>> * Set the property dbID.
>> *
>> * @param String dbID
>> */
>> public void setDbID(String dbID) {
>> this.dbID = dbID;
>> }
>>
>> /**
>> * Get the property dbID.
>> *
>> * @return
>> */
>> @Id
>> @GeneratedValue(strategy=GenerationType.AUTO, generator="uuid-hex")
>> public String getDbID() {
>> return this.dbID;
>> }
>>
>> /**
>> * Set the property property
>> *
>> * @param String property
>> */
>> public void setProperty(String property) {
>> this.property = property;
>> }
>>
>> /**
>> * Get the property property.
>> *
>> * @return String
>> */
>> public String getProperty() {
>> return property;
>> }
>>
>> /**
>> * Set the property value.
>> *
>> * @param String value
>> */
>> public void setValue(String value) {
>> this.value = value;
>> }
>>
>> /**
>> * Get the property value.
>> *
>> * @return String
>> */
>> public String getValue() {
>> return value;
>> }
>>
>> /**
>> * Set property element.
>> *
>> * @param Element element
>> */
>> public void setElement(Element element) {
>> this.element = element;
>> }
>>
>> /**
>> * Get the property element.
>> *
>> * @return Element
>> */
>> @ManyToOne(fetch=FetchType.LAZY)
>> @ForeignKey(name="FK_property_element")
>> @JoinColumn(name="element")
>> public Element getElement() {
>> return element;
>> }
>>
>> /**
>> * Set the property elementTemplate.
>> *
>> * @param ElementTemplate elementTemplate
>> */
>> public void setElementTemplate(ElementTemplate elementTemplate) {
>> this.elementTemplate = elementTemplate;
>> }
>>
>> /**
>> * Get the property elementTemplate.
>> *
>> * @return ElementTemplate
>> */
>> @ManyToOne(fetch=FetchType.LAZY)
>> @ForeignKey(name="FK_property_elementTemplate")
>> @JoinColumn(name="elementTemplate")
>> public ElementTemplate getElementTemplate() {
>> return elementTemplate;
>> }
>>
>> }
>>
>> to update the element I do this:
>> Element element = em.find(Element.class, elementID);
>>
>> //Add changements to the element
>>
>>
>> // update the element.
>> em.persist(element);
>>
>> The update worked but I don't see any version number in my database field.
>>
>> Please help :)
>>
>>
>> --
>> View this message in context:
>> http://n2.nabble.com/Version-annotation-tp4013067p4013067.html
>> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>>
>>
>>
>>
>>
> Craig L Russell
> Architect, Sun Java Enterprise System http://db.apache.org/jdo
> 408 276-5638 mailto:Craig.Russell@sun.com
> P.S. A good JDO? O, Gasp!
>
>
Re: @Version annotation
Posted by yokenji <ke...@gmail.com>.
Problem is fixed thx for all. :)
yokenji wrote:
>
> Hi,
>
> I removed the @GeneratedValue
> but still no changement.
> when updating i don't see any version number.
> Is my configuration correct or do I have to put some configurations in the
> persistence file.
>
> Greets K,
>
>
> Craig L Russell wrote:
>>
>> Seems like it would be useful for OpenJPA to issue a warning or an
>> error in the case of the user specifying both @Version and
>> @GeneratedValue on the same property.
>>
>> Craig
>>
>> On Nov 16, 2009, at 9:08 AM, Fay Wang wrote:
>>
>>> Hi,
>>> You don't need to put generatedValue annotation for the version
>>> field. Openjpa will keep track of the version for you.
>>>
>>> @Version
>>> public long getVersion() {
>>> return this.version;
>>> }
>>>
>>>
>>>
>>> ----- Original Message ----
>>> From: yokenji <ke...@gmail.com>
>>> To: users@openjpa.apache.org
>>> Sent: Mon, November 16, 2009 8:46:48 AM
>>> Subject: @Version annotation
>>>
>>>
>>> Hi there,
>>>
>>> I trying to use an annotatoin field @version but when updating the
>>> record i
>>> don't see any version in the database.
>>>
>>> Also,
>>> Element class:
>>>
>>> package entities;
>>>
>>> import java.io.Serializable;
>>> import java.util.Set;
>>>
>>> import javax.annotation.Generated;
>>> import javax.persistence.CascadeType;
>>> 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.OneToMany;
>>> import javax.persistence.Table;
>>> import javax.persistence.Temporal;
>>> import javax.persistence.TemporalType;
>>> import javax.persistence.Version;
>>>
>>> import org.apache.openjpa.persistence.jdbc.ForeignKey;
>>>
>>> /**
>>> * @author Ken
>>> */
>>> @Entity
>>> @NamedQueries({
>>> @NamedQuery(name="roots.Element",
>>> query="Select e From Element e" +
>>> " where e.parentElement is null"),
>>> @NamedQuery(name="one.Element",
>>> query="Select e From Element e" +
>>> " where e.dbID = :id")
>>> })
>>> @Table(name="Element")
>>> public class Element implements ElementInterface, Serializable {
>>>
>>> private static final long serialVersionUID = 4627343050926103812L;
>>>
>>> private String dbID;
>>> private String internID;
>>> private String name;
>>> private String description;
>>> private long version;
>>>
>>> private Set<Property> properties;
>>> private Element parentElement;
>>> private Set<Element> childElements;
>>>
>>> /**
>>> * This is the default constructor.
>>> */
>>> public Element() {
>>> }
>>>
>>> /**
>>> * @see entities.ElementInterface#setDbID(java.lang.String)
>>> */
>>> public void setDbID(String dbID) {
>>> this.dbID = dbID;
>>> }
>>>
>>> /**
>>> * @see entities.ElementInterface#getDbID()
>>> */
>>> @Id
>>> @GeneratedValue(strategy = GenerationType.AUTO, generator="uuid-hex")
>>> public String getDbID() {
>>> return this.dbID;
>>> }
>>>
>>> /**
>>> * @see entities.ElementInterface#setInternID(java.lang.String)
>>> */
>>> public void setInternID(String internID) {
>>> this.internID = internID;
>>> }
>>>
>>> /**
>>> * @see entities.ElementInterface#getInternID()
>>> */
>>> public String getInternID() {
>>> return this.internID;
>>> }
>>>
>>>
>>> /**
>>> * @see entities.ElementInterface#getName()
>>> */
>>> public String getName() {
>>> return this.name;
>>> }
>>>
>>> /**
>>> * @see entities.ElementInterface#setName(java.lang.String)
>>> */
>>> public void setName(String name) {
>>> this.name = name;
>>> }
>>>
>>> /**
>>> * @see entities.ElementInterface#setDescription(java.lang.String)
>>> */
>>> public void setDescription(String description) {
>>> this.description = description;
>>> }
>>>
>>> /**
>>> * @see entities.ElementInterface#getDescription()
>>> */
>>> public String getDescription() {
>>> return this.description;
>>> }
>>>
>>> /**
>>> * @see entities.ElementInterface#setVersion(java.util.Date)
>>> */
>>> private void setVersion(int version) {
>>> this.version = version;
>>> }
>>>
>>> /**
>>> * @see entities.ElementInterface#getVersion()
>>> */
>>> @Version
>>> @GeneratedValue(strategy=GenerationType.AUTO)
>>> public long getVersion() {
>>> return this.version;
>>> }
>>>
>>> /**
>>> * Set the element properties.
>>> *
>>> * @param Set<Property> properties
>>> */
>>> public void setProperties(Set<Property> properties) {
>>> this.properties = properties;
>>> }
>>>
>>> /**
>>> * Get the element properties.
>>> *
>>> * @return Set<Property>
>>> */
>>> @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER,
>>> mappedBy="element")
>>> public Set<Property> getProperties() {
>>> return properties;
>>> }
>>>
>>> /**
>>> * Set the element parent.
>>> *
>>> * @param Element parentElement
>>> */
>>> public void setParentElement(Element parentElement) {
>>> this.parentElement = parentElement;
>>> }
>>>
>>> /**
>>> * Get the element parent.
>>> *
>>> * @return Element
>>> */
>>> @ManyToOne(optional=true, fetch=FetchType.LAZY)
>>> @ForeignKey(name="FK_parent_element")
>>> @JoinColumn(name="parent_element", referencedColumnName="dbID")
>>> public Element getParentElement() {
>>> return parentElement;
>>> }
>>>
>>> /**
>>> * Set the element children.
>>> *
>>> * @param Set<Element> childElements
>>> */
>>> public void setChildElements(Set<Element> childElements) {
>>> this.childElements = childElements;
>>> }
>>>
>>> /**
>>> * Get the element children.
>>> *
>>> * @return Set<Element>
>>> */
>>> @OneToMany(cascade=CascadeType.ALL, mappedBy="parentElement",
>>> fetch=FetchType.EAGER)
>>> public Set<Element> getChildElements() {
>>> return childElements;
>>> }
>>>
>>> }
>>>
>>> Class Property:
>>>
>>>
>>> package entities;
>>>
>>> import java.io.Serializable;
>>> import javax.persistence.*;
>>> import org.apache.openjpa.persistence.jdbc.ForeignKey;
>>>
>>> /**
>>> * @author Ken
>>> */
>>> @Entity
>>> @NamedQueries({
>>> @NamedQuery(name="all.properties",
>>> query="Select p From Property p"),
>>> @NamedQuery(name="elementTemplate.properties",
>>> query="Select p From Property p" +
>>> " where p.elementTemplate = :owner"),
>>> @NamedQuery(name="one.property",
>>> query="Select p From Property p" +
>>> " where p.dbID = :id")
>>> })
>>> @Table(name="Property")
>>> public class Property implements Serializable {
>>>
>>> private static final long serialVersionUID = -6988886476498387460L;
>>>
>>> private String dbID;
>>> private String property;
>>> private String value;
>>> private Element element;
>>> private ElementTemplate elementTemplate;
>>>
>>> /**
>>> * This is the default constructor.
>>> */
>>> public Property() {
>>> }
>>>
>>> /**
>>> * Set the property dbID.
>>> *
>>> * @param String dbID
>>> */
>>> public void setDbID(String dbID) {
>>> this.dbID = dbID;
>>> }
>>>
>>> /**
>>> * Get the property dbID.
>>> *
>>> * @return
>>> */
>>> @Id
>>> @GeneratedValue(strategy=GenerationType.AUTO, generator="uuid-hex")
>>> public String getDbID() {
>>> return this.dbID;
>>> }
>>>
>>> /**
>>> * Set the property property
>>> *
>>> * @param String property
>>> */
>>> public void setProperty(String property) {
>>> this.property = property;
>>> }
>>>
>>> /**
>>> * Get the property property.
>>> *
>>> * @return String
>>> */
>>> public String getProperty() {
>>> return property;
>>> }
>>>
>>> /**
>>> * Set the property value.
>>> *
>>> * @param String value
>>> */
>>> public void setValue(String value) {
>>> this.value = value;
>>> }
>>>
>>> /**
>>> * Get the property value.
>>> *
>>> * @return String
>>> */
>>> public String getValue() {
>>> return value;
>>> }
>>>
>>> /**
>>> * Set property element.
>>> *
>>> * @param Element element
>>> */
>>> public void setElement(Element element) {
>>> this.element = element;
>>> }
>>>
>>> /**
>>> * Get the property element.
>>> *
>>> * @return Element
>>> */
>>> @ManyToOne(fetch=FetchType.LAZY)
>>> @ForeignKey(name="FK_property_element")
>>> @JoinColumn(name="element")
>>> public Element getElement() {
>>> return element;
>>> }
>>>
>>> /**
>>> * Set the property elementTemplate.
>>> *
>>> * @param ElementTemplate elementTemplate
>>> */
>>> public void setElementTemplate(ElementTemplate elementTemplate) {
>>> this.elementTemplate = elementTemplate;
>>> }
>>>
>>> /**
>>> * Get the property elementTemplate.
>>> *
>>> * @return ElementTemplate
>>> */
>>> @ManyToOne(fetch=FetchType.LAZY)
>>> @ForeignKey(name="FK_property_elementTemplate")
>>> @JoinColumn(name="elementTemplate")
>>> public ElementTemplate getElementTemplate() {
>>> return elementTemplate;
>>> }
>>>
>>> }
>>>
>>> to update the element I do this:
>>> Element element = em.find(Element.class, elementID);
>>>
>>> //Add changements to the element
>>>
>>>
>>> // update the element.
>>> em.persist(element);
>>>
>>> The update worked but I don't see any version number in my database
>>> field.
>>>
>>> Please help :)
>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/Version-annotation-tp4013067p4013067.html
>>> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>>>
>>>
>>>
>>>
>>
>> Craig L Russell
>> Architect, Sun Java Enterprise System http://db.apache.org/jdo
>> 408 276-5638 mailto:Craig.Russell@sun.com
>> P.S. A good JDO? O, Gasp!
>>
>>
>>
>>
>
>
--
View this message in context: http://n2.nabble.com/Version-annotation-tp4013067p4017289.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: @Version annotation
Posted by yokenji <ke...@gmail.com>.
Hi,
I removed the @GeneratedValue
but still no changement.
when updating i don't see any version number.
Is my configuration correct or do I have to put some configurations in the
persistence file.
Greets K,
Craig L Russell wrote:
>
> Seems like it would be useful for OpenJPA to issue a warning or an
> error in the case of the user specifying both @Version and
> @GeneratedValue on the same property.
>
> Craig
>
> On Nov 16, 2009, at 9:08 AM, Fay Wang wrote:
>
>> Hi,
>> You don't need to put generatedValue annotation for the version
>> field. Openjpa will keep track of the version for you.
>>
>> @Version
>> public long getVersion() {
>> return this.version;
>> }
>>
>>
>>
>> ----- Original Message ----
>> From: yokenji <ke...@gmail.com>
>> To: users@openjpa.apache.org
>> Sent: Mon, November 16, 2009 8:46:48 AM
>> Subject: @Version annotation
>>
>>
>> Hi there,
>>
>> I trying to use an annotatoin field @version but when updating the
>> record i
>> don't see any version in the database.
>>
>> Also,
>> Element class:
>>
>> package entities;
>>
>> import java.io.Serializable;
>> import java.util.Set;
>>
>> import javax.annotation.Generated;
>> import javax.persistence.CascadeType;
>> 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.OneToMany;
>> import javax.persistence.Table;
>> import javax.persistence.Temporal;
>> import javax.persistence.TemporalType;
>> import javax.persistence.Version;
>>
>> import org.apache.openjpa.persistence.jdbc.ForeignKey;
>>
>> /**
>> * @author Ken
>> */
>> @Entity
>> @NamedQueries({
>> @NamedQuery(name="roots.Element",
>> query="Select e From Element e" +
>> " where e.parentElement is null"),
>> @NamedQuery(name="one.Element",
>> query="Select e From Element e" +
>> " where e.dbID = :id")
>> })
>> @Table(name="Element")
>> public class Element implements ElementInterface, Serializable {
>>
>> private static final long serialVersionUID = 4627343050926103812L;
>>
>> private String dbID;
>> private String internID;
>> private String name;
>> private String description;
>> private long version;
>>
>> private Set<Property> properties;
>> private Element parentElement;
>> private Set<Element> childElements;
>>
>> /**
>> * This is the default constructor.
>> */
>> public Element() {
>> }
>>
>> /**
>> * @see entities.ElementInterface#setDbID(java.lang.String)
>> */
>> public void setDbID(String dbID) {
>> this.dbID = dbID;
>> }
>>
>> /**
>> * @see entities.ElementInterface#getDbID()
>> */
>> @Id
>> @GeneratedValue(strategy = GenerationType.AUTO, generator="uuid-hex")
>> public String getDbID() {
>> return this.dbID;
>> }
>>
>> /**
>> * @see entities.ElementInterface#setInternID(java.lang.String)
>> */
>> public void setInternID(String internID) {
>> this.internID = internID;
>> }
>>
>> /**
>> * @see entities.ElementInterface#getInternID()
>> */
>> public String getInternID() {
>> return this.internID;
>> }
>>
>>
>> /**
>> * @see entities.ElementInterface#getName()
>> */
>> public String getName() {
>> return this.name;
>> }
>>
>> /**
>> * @see entities.ElementInterface#setName(java.lang.String)
>> */
>> public void setName(String name) {
>> this.name = name;
>> }
>>
>> /**
>> * @see entities.ElementInterface#setDescription(java.lang.String)
>> */
>> public void setDescription(String description) {
>> this.description = description;
>> }
>>
>> /**
>> * @see entities.ElementInterface#getDescription()
>> */
>> public String getDescription() {
>> return this.description;
>> }
>>
>> /**
>> * @see entities.ElementInterface#setVersion(java.util.Date)
>> */
>> private void setVersion(int version) {
>> this.version = version;
>> }
>>
>> /**
>> * @see entities.ElementInterface#getVersion()
>> */
>> @Version
>> @GeneratedValue(strategy=GenerationType.AUTO)
>> public long getVersion() {
>> return this.version;
>> }
>>
>> /**
>> * Set the element properties.
>> *
>> * @param Set<Property> properties
>> */
>> public void setProperties(Set<Property> properties) {
>> this.properties = properties;
>> }
>>
>> /**
>> * Get the element properties.
>> *
>> * @return Set<Property>
>> */
>> @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER,
>> mappedBy="element")
>> public Set<Property> getProperties() {
>> return properties;
>> }
>>
>> /**
>> * Set the element parent.
>> *
>> * @param Element parentElement
>> */
>> public void setParentElement(Element parentElement) {
>> this.parentElement = parentElement;
>> }
>>
>> /**
>> * Get the element parent.
>> *
>> * @return Element
>> */
>> @ManyToOne(optional=true, fetch=FetchType.LAZY)
>> @ForeignKey(name="FK_parent_element")
>> @JoinColumn(name="parent_element", referencedColumnName="dbID")
>> public Element getParentElement() {
>> return parentElement;
>> }
>>
>> /**
>> * Set the element children.
>> *
>> * @param Set<Element> childElements
>> */
>> public void setChildElements(Set<Element> childElements) {
>> this.childElements = childElements;
>> }
>>
>> /**
>> * Get the element children.
>> *
>> * @return Set<Element>
>> */
>> @OneToMany(cascade=CascadeType.ALL, mappedBy="parentElement",
>> fetch=FetchType.EAGER)
>> public Set<Element> getChildElements() {
>> return childElements;
>> }
>>
>> }
>>
>> Class Property:
>>
>>
>> package entities;
>>
>> import java.io.Serializable;
>> import javax.persistence.*;
>> import org.apache.openjpa.persistence.jdbc.ForeignKey;
>>
>> /**
>> * @author Ken
>> */
>> @Entity
>> @NamedQueries({
>> @NamedQuery(name="all.properties",
>> query="Select p From Property p"),
>> @NamedQuery(name="elementTemplate.properties",
>> query="Select p From Property p" +
>> " where p.elementTemplate = :owner"),
>> @NamedQuery(name="one.property",
>> query="Select p From Property p" +
>> " where p.dbID = :id")
>> })
>> @Table(name="Property")
>> public class Property implements Serializable {
>>
>> private static final long serialVersionUID = -6988886476498387460L;
>>
>> private String dbID;
>> private String property;
>> private String value;
>> private Element element;
>> private ElementTemplate elementTemplate;
>>
>> /**
>> * This is the default constructor.
>> */
>> public Property() {
>> }
>>
>> /**
>> * Set the property dbID.
>> *
>> * @param String dbID
>> */
>> public void setDbID(String dbID) {
>> this.dbID = dbID;
>> }
>>
>> /**
>> * Get the property dbID.
>> *
>> * @return
>> */
>> @Id
>> @GeneratedValue(strategy=GenerationType.AUTO, generator="uuid-hex")
>> public String getDbID() {
>> return this.dbID;
>> }
>>
>> /**
>> * Set the property property
>> *
>> * @param String property
>> */
>> public void setProperty(String property) {
>> this.property = property;
>> }
>>
>> /**
>> * Get the property property.
>> *
>> * @return String
>> */
>> public String getProperty() {
>> return property;
>> }
>>
>> /**
>> * Set the property value.
>> *
>> * @param String value
>> */
>> public void setValue(String value) {
>> this.value = value;
>> }
>>
>> /**
>> * Get the property value.
>> *
>> * @return String
>> */
>> public String getValue() {
>> return value;
>> }
>>
>> /**
>> * Set property element.
>> *
>> * @param Element element
>> */
>> public void setElement(Element element) {
>> this.element = element;
>> }
>>
>> /**
>> * Get the property element.
>> *
>> * @return Element
>> */
>> @ManyToOne(fetch=FetchType.LAZY)
>> @ForeignKey(name="FK_property_element")
>> @JoinColumn(name="element")
>> public Element getElement() {
>> return element;
>> }
>>
>> /**
>> * Set the property elementTemplate.
>> *
>> * @param ElementTemplate elementTemplate
>> */
>> public void setElementTemplate(ElementTemplate elementTemplate) {
>> this.elementTemplate = elementTemplate;
>> }
>>
>> /**
>> * Get the property elementTemplate.
>> *
>> * @return ElementTemplate
>> */
>> @ManyToOne(fetch=FetchType.LAZY)
>> @ForeignKey(name="FK_property_elementTemplate")
>> @JoinColumn(name="elementTemplate")
>> public ElementTemplate getElementTemplate() {
>> return elementTemplate;
>> }
>>
>> }
>>
>> to update the element I do this:
>> Element element = em.find(Element.class, elementID);
>>
>> //Add changements to the element
>>
>>
>> // update the element.
>> em.persist(element);
>>
>> The update worked but I don't see any version number in my database
>> field.
>>
>> Please help :)
>>
>>
>> --
>> View this message in context:
>> http://n2.nabble.com/Version-annotation-tp4013067p4013067.html
>> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>>
>>
>>
>>
>
> Craig L Russell
> Architect, Sun Java Enterprise System http://db.apache.org/jdo
> 408 276-5638 mailto:Craig.Russell@sun.com
> P.S. A good JDO? O, Gasp!
>
>
>
>
--
View this message in context: http://n2.nabble.com/Version-annotation-tp4013067p4017236.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: @Version annotation
Posted by Craig L Russell <Cr...@Sun.COM>.
Seems like it would be useful for OpenJPA to issue a warning or an
error in the case of the user specifying both @Version and
@GeneratedValue on the same property.
Craig
On Nov 16, 2009, at 9:08 AM, Fay Wang wrote:
> Hi,
> You don't need to put generatedValue annotation for the version
> field. Openjpa will keep track of the version for you.
>
> @Version
> public long getVersion() {
> return this.version;
> }
>
>
>
> ----- Original Message ----
> From: yokenji <ke...@gmail.com>
> To: users@openjpa.apache.org
> Sent: Mon, November 16, 2009 8:46:48 AM
> Subject: @Version annotation
>
>
> Hi there,
>
> I trying to use an annotatoin field @version but when updating the
> record i
> don't see any version in the database.
>
> Also,
> Element class:
>
> package entities;
>
> import java.io.Serializable;
> import java.util.Set;
>
> import javax.annotation.Generated;
> import javax.persistence.CascadeType;
> 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.OneToMany;
> import javax.persistence.Table;
> import javax.persistence.Temporal;
> import javax.persistence.TemporalType;
> import javax.persistence.Version;
>
> import org.apache.openjpa.persistence.jdbc.ForeignKey;
>
> /**
> * @author Ken
> */
> @Entity
> @NamedQueries({
> @NamedQuery(name="roots.Element",
> query="Select e From Element e" +
> " where e.parentElement is null"),
> @NamedQuery(name="one.Element",
> query="Select e From Element e" +
> " where e.dbID = :id")
> })
> @Table(name="Element")
> public class Element implements ElementInterface, Serializable {
>
> private static final long serialVersionUID = 4627343050926103812L;
>
> private String dbID;
> private String internID;
> private String name;
> private String description;
> private long version;
>
> private Set<Property> properties;
> private Element parentElement;
> private Set<Element> childElements;
>
> /**
> * This is the default constructor.
> */
> public Element() {
> }
>
> /**
> * @see entities.ElementInterface#setDbID(java.lang.String)
> */
> public void setDbID(String dbID) {
> this.dbID = dbID;
> }
>
> /**
> * @see entities.ElementInterface#getDbID()
> */
> @Id
> @GeneratedValue(strategy = GenerationType.AUTO, generator="uuid-hex")
> public String getDbID() {
> return this.dbID;
> }
>
> /**
> * @see entities.ElementInterface#setInternID(java.lang.String)
> */
> public void setInternID(String internID) {
> this.internID = internID;
> }
>
> /**
> * @see entities.ElementInterface#getInternID()
> */
> public String getInternID() {
> return this.internID;
> }
>
>
> /**
> * @see entities.ElementInterface#getName()
> */
> public String getName() {
> return this.name;
> }
>
> /**
> * @see entities.ElementInterface#setName(java.lang.String)
> */
> public void setName(String name) {
> this.name = name;
> }
>
> /**
> * @see entities.ElementInterface#setDescription(java.lang.String)
> */
> public void setDescription(String description) {
> this.description = description;
> }
>
> /**
> * @see entities.ElementInterface#getDescription()
> */
> public String getDescription() {
> return this.description;
> }
>
> /**
> * @see entities.ElementInterface#setVersion(java.util.Date)
> */
> private void setVersion(int version) {
> this.version = version;
> }
>
> /**
> * @see entities.ElementInterface#getVersion()
> */
> @Version
> @GeneratedValue(strategy=GenerationType.AUTO)
> public long getVersion() {
> return this.version;
> }
>
> /**
> * Set the element properties.
> *
> * @param Set<Property> properties
> */
> public void setProperties(Set<Property> properties) {
> this.properties = properties;
> }
>
> /**
> * Get the element properties.
> *
> * @return Set<Property>
> */
> @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER,
> mappedBy="element")
> public Set<Property> getProperties() {
> return properties;
> }
>
> /**
> * Set the element parent.
> *
> * @param Element parentElement
> */
> public void setParentElement(Element parentElement) {
> this.parentElement = parentElement;
> }
>
> /**
> * Get the element parent.
> *
> * @return Element
> */
> @ManyToOne(optional=true, fetch=FetchType.LAZY)
> @ForeignKey(name="FK_parent_element")
> @JoinColumn(name="parent_element", referencedColumnName="dbID")
> public Element getParentElement() {
> return parentElement;
> }
>
> /**
> * Set the element children.
> *
> * @param Set<Element> childElements
> */
> public void setChildElements(Set<Element> childElements) {
> this.childElements = childElements;
> }
>
> /**
> * Get the element children.
> *
> * @return Set<Element>
> */
> @OneToMany(cascade=CascadeType.ALL, mappedBy="parentElement",
> fetch=FetchType.EAGER)
> public Set<Element> getChildElements() {
> return childElements;
> }
>
> }
>
> Class Property:
>
>
> package entities;
>
> import java.io.Serializable;
> import javax.persistence.*;
> import org.apache.openjpa.persistence.jdbc.ForeignKey;
>
> /**
> * @author Ken
> */
> @Entity
> @NamedQueries({
> @NamedQuery(name="all.properties",
> query="Select p From Property p"),
> @NamedQuery(name="elementTemplate.properties",
> query="Select p From Property p" +
> " where p.elementTemplate = :owner"),
> @NamedQuery(name="one.property",
> query="Select p From Property p" +
> " where p.dbID = :id")
> })
> @Table(name="Property")
> public class Property implements Serializable {
>
> private static final long serialVersionUID = -6988886476498387460L;
>
> private String dbID;
> private String property;
> private String value;
> private Element element;
> private ElementTemplate elementTemplate;
>
> /**
> * This is the default constructor.
> */
> public Property() {
> }
>
> /**
> * Set the property dbID.
> *
> * @param String dbID
> */
> public void setDbID(String dbID) {
> this.dbID = dbID;
> }
>
> /**
> * Get the property dbID.
> *
> * @return
> */
> @Id
> @GeneratedValue(strategy=GenerationType.AUTO, generator="uuid-hex")
> public String getDbID() {
> return this.dbID;
> }
>
> /**
> * Set the property property
> *
> * @param String property
> */
> public void setProperty(String property) {
> this.property = property;
> }
>
> /**
> * Get the property property.
> *
> * @return String
> */
> public String getProperty() {
> return property;
> }
>
> /**
> * Set the property value.
> *
> * @param String value
> */
> public void setValue(String value) {
> this.value = value;
> }
>
> /**
> * Get the property value.
> *
> * @return String
> */
> public String getValue() {
> return value;
> }
>
> /**
> * Set property element.
> *
> * @param Element element
> */
> public void setElement(Element element) {
> this.element = element;
> }
>
> /**
> * Get the property element.
> *
> * @return Element
> */
> @ManyToOne(fetch=FetchType.LAZY)
> @ForeignKey(name="FK_property_element")
> @JoinColumn(name="element")
> public Element getElement() {
> return element;
> }
>
> /**
> * Set the property elementTemplate.
> *
> * @param ElementTemplate elementTemplate
> */
> public void setElementTemplate(ElementTemplate elementTemplate) {
> this.elementTemplate = elementTemplate;
> }
>
> /**
> * Get the property elementTemplate.
> *
> * @return ElementTemplate
> */
> @ManyToOne(fetch=FetchType.LAZY)
> @ForeignKey(name="FK_property_elementTemplate")
> @JoinColumn(name="elementTemplate")
> public ElementTemplate getElementTemplate() {
> return elementTemplate;
> }
>
> }
>
> to update the element I do this:
> Element element = em.find(Element.class, elementID);
>
> //Add changements to the element
>
>
> // update the element.
> em.persist(element);
>
> The update worked but I don't see any version number in my database
> field.
>
> Please help :)
>
>
> --
> View this message in context: http://n2.nabble.com/Version-annotation-tp4013067p4013067.html
> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>
>
>
>
Craig L Russell
Architect, Sun Java Enterprise System http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!
Re: @Version annotation
Posted by Fay Wang <fy...@yahoo.com>.
Hi,
You don't need to put generatedValue annotation for the version field. Openjpa will keep track of the version for you.
@Version
public long getVersion() {
return this.version;
}
----- Original Message ----
From: yokenji <ke...@gmail.com>
To: users@openjpa.apache.org
Sent: Mon, November 16, 2009 8:46:48 AM
Subject: @Version annotation
Hi there,
I trying to use an annotatoin field @version but when updating the record i
don't see any version in the database.
Also,
Element class:
package entities;
import java.io.Serializable;
import java.util.Set;
import javax.annotation.Generated;
import javax.persistence.CascadeType;
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.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;
import org.apache.openjpa.persistence.jdbc.ForeignKey;
/**
* @author Ken
*/
@Entity
@NamedQueries({
@NamedQuery(name="roots.Element",
query="Select e From Element e" +
" where e.parentElement is null"),
@NamedQuery(name="one.Element",
query="Select e From Element e" +
" where e.dbID = :id")
})
@Table(name="Element")
public class Element implements ElementInterface, Serializable {
private static final long serialVersionUID = 4627343050926103812L;
private String dbID;
private String internID;
private String name;
private String description;
private long version;
private Set<Property> properties;
private Element parentElement;
private Set<Element> childElements;
/**
* This is the default constructor.
*/
public Element() {
}
/**
* @see entities.ElementInterface#setDbID(java.lang.String)
*/
public void setDbID(String dbID) {
this.dbID = dbID;
}
/**
* @see entities.ElementInterface#getDbID()
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator="uuid-hex")
public String getDbID() {
return this.dbID;
}
/**
* @see entities.ElementInterface#setInternID(java.lang.String)
*/
public void setInternID(String internID) {
this.internID = internID;
}
/**
* @see entities.ElementInterface#getInternID()
*/
public String getInternID() {
return this.internID;
}
/**
* @see entities.ElementInterface#getName()
*/
public String getName() {
return this.name;
}
/**
* @see entities.ElementInterface#setName(java.lang.String)
*/
public void setName(String name) {
this.name = name;
}
/**
* @see entities.ElementInterface#setDescription(java.lang.String)
*/
public void setDescription(String description) {
this.description = description;
}
/**
* @see entities.ElementInterface#getDescription()
*/
public String getDescription() {
return this.description;
}
/**
* @see entities.ElementInterface#setVersion(java.util.Date)
*/
private void setVersion(int version) {
this.version = version;
}
/**
* @see entities.ElementInterface#getVersion()
*/
@Version
@GeneratedValue(strategy=GenerationType.AUTO)
public long getVersion() {
return this.version;
}
/**
* Set the element properties.
*
* @param Set<Property> properties
*/
public void setProperties(Set<Property> properties) {
this.properties = properties;
}
/**
* Get the element properties.
*
* @return Set<Property>
*/
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER,
mappedBy="element")
public Set<Property> getProperties() {
return properties;
}
/**
* Set the element parent.
*
* @param Element parentElement
*/
public void setParentElement(Element parentElement) {
this.parentElement = parentElement;
}
/**
* Get the element parent.
*
* @return Element
*/
@ManyToOne(optional=true, fetch=FetchType.LAZY)
@ForeignKey(name="FK_parent_element")
@JoinColumn(name="parent_element", referencedColumnName="dbID")
public Element getParentElement() {
return parentElement;
}
/**
* Set the element children.
*
* @param Set<Element> childElements
*/
public void setChildElements(Set<Element> childElements) {
this.childElements = childElements;
}
/**
* Get the element children.
*
* @return Set<Element>
*/
@OneToMany(cascade=CascadeType.ALL, mappedBy="parentElement",
fetch=FetchType.EAGER)
public Set<Element> getChildElements() {
return childElements;
}
}
Class Property:
package entities;
import java.io.Serializable;
import javax.persistence.*;
import org.apache.openjpa.persistence.jdbc.ForeignKey;
/**
* @author Ken
*/
@Entity
@NamedQueries({
@NamedQuery(name="all.properties",
query="Select p From Property p"),
@NamedQuery(name="elementTemplate.properties",
query="Select p From Property p" +
" where p.elementTemplate = :owner"),
@NamedQuery(name="one.property",
query="Select p From Property p" +
" where p.dbID = :id")
})
@Table(name="Property")
public class Property implements Serializable {
private static final long serialVersionUID = -6988886476498387460L;
private String dbID;
private String property;
private String value;
private Element element;
private ElementTemplate elementTemplate;
/**
* This is the default constructor.
*/
public Property() {
}
/**
* Set the property dbID.
*
* @param String dbID
*/
public void setDbID(String dbID) {
this.dbID = dbID;
}
/**
* Get the property dbID.
*
* @return
*/
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="uuid-hex")
public String getDbID() {
return this.dbID;
}
/**
* Set the property property
*
* @param String property
*/
public void setProperty(String property) {
this.property = property;
}
/**
* Get the property property.
*
* @return String
*/
public String getProperty() {
return property;
}
/**
* Set the property value.
*
* @param String value
*/
public void setValue(String value) {
this.value = value;
}
/**
* Get the property value.
*
* @return String
*/
public String getValue() {
return value;
}
/**
* Set property element.
*
* @param Element element
*/
public void setElement(Element element) {
this.element = element;
}
/**
* Get the property element.
*
* @return Element
*/
@ManyToOne(fetch=FetchType.LAZY)
@ForeignKey(name="FK_property_element")
@JoinColumn(name="element")
public Element getElement() {
return element;
}
/**
* Set the property elementTemplate.
*
* @param ElementTemplate elementTemplate
*/
public void setElementTemplate(ElementTemplate elementTemplate) {
this.elementTemplate = elementTemplate;
}
/**
* Get the property elementTemplate.
*
* @return ElementTemplate
*/
@ManyToOne(fetch=FetchType.LAZY)
@ForeignKey(name="FK_property_elementTemplate")
@JoinColumn(name="elementTemplate")
public ElementTemplate getElementTemplate() {
return elementTemplate;
}
}
to update the element I do this:
Element element = em.find(Element.class, elementID);
//Add changements to the element
// update the element.
em.persist(element);
The update worked but I don't see any version number in my database field.
Please help :)
--
View this message in context: http://n2.nabble.com/Version-annotation-tp4013067p4013067.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.