[JBoss JIRA] Created: (EJBTHREE-784) When updating an entity that has multiple Blob fields, the blob objects are getting swaped.
by Sandeep Ghosh (JIRA)
When updating an entity that has multiple Blob fields, the blob objects are getting swaped.
-------------------------------------------------------------------------------------------
Key: EJBTHREE-784
URL: http://jira.jboss.com/jira/browse/EJBTHREE-784
Project: EJB 3.0
Issue Type: Bug
Components: EJB3 Extensions
Environment: App server: JBoss 4.0.4GA
DB: Oracle 9i with the 10g driver.
Reporter: Sandeep Ghosh
We are trying to store two BLOB fields (using extended persistence) and after setting the two fields with the right binary data, the data is somehow switched between the fields. i.e. if image1 is to be set in colum1 and file2 in column2 after the db transaction is completed using an extended persistence context, image1 is set in column2 and file2 is set in column1.
Here's the entity class
@Entity
@Table(name = "GENE_CLONE_QC", uniqueConstraints = {})
public class GeneCloneQc implements java.io.Serializable {
@Lob @Basic(fetch=FetchType.EAGER)
@Column(name = "DELETED_SEQ", unique = false, nullable = true, insertable = true, updatable = true)
public String getDeletedSeq() {
return this.deletedSeq;
}
public void setDeletedSeq(String deletedSeq) {
this.deletedSeq = deletedSeq;
}
@Lob @Basic(fetch = FetchType.EAGER)
@Column(name = "QC_IMAGE", unique = false, nullable = true, insertable = true, updatable = true)
public Blob getQcImage() {
return this.qcImage;
}
public void setQcImage(Blob qcImage) {
this.qcImage = qcImage;
}
}
Here's the class with the save method that has the issue stated above
@Stateful
@Name("geneCloneQcBean")
@Scope(ScopeType.SESSION)
public class GeneCloneQcBean implements GeneCloneQcInf {
@PersistenceContext(type = PersistenceContextType.EXTENDED)
protected EntityManager entityManager;
public void save(){
if(qcImageFile != null){
Blob image = null;
try {
image = org.hibernate.Hibernate.createBlob(qcImageFile.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
geneCloneQc.setQcImage(image);
}
if(sequenceDataFile != null){
Blob sequenceDataFileBlob = null;
try {
sequenceDataFileBlob = org.hibernate.Hibernate.createBlob(sequenceDataFile.getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String fileName = sequenceDataFile.getName();
fileName = fileName.substring(fileName.lastIndexOf("\\")+1);
geneCloneQc.setSequenceDataFileName(fileName);
geneCloneQc.setSequenceDataFile(sequenceDataFileBlob);
}
geneClone.setGeneCloneQc(geneCloneQc);
entityManager.persist(geneClone);
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 2 months
[JBoss JIRA] Resolved: (EJBTHREE-637) Entity attributes conflict with PostgreSQL keywords
by Emmanuel Bernard (JIRA)
[ http://jira.jboss.com/jira/browse/EJBTHREE-637?page=all ]
Emmanuel Bernard resolved EJBTHREE-637.
---------------------------------------
Resolution: Rejected
Assignee: Emmanuel Bernard
as per the doc, use backticks `
> Entity attributes conflict with PostgreSQL keywords
> ---------------------------------------------------
>
> Key: EJBTHREE-637
> URL: http://jira.jboss.com/jira/browse/EJBTHREE-637
> Project: EJB 3.0
> Issue Type: Bug
> Affects Versions: EJB 3.0 RC8 - FD
> Reporter: Seweryn Niemiec
> Assigned To: Emmanuel Bernard
>
> I have EJB3 Entity with attribute "desc". Hibernate can't create SQL table for it.
> 13:58:11 DEBUG impl.Log4JLogger SchemaExport - create table ports (id int8 not null, name varchar(80) not null, desc varchar(240), device_ip varchar(15) not null, primary key (id))
> 13:58:11 ERROR impl.Log4JLogger SchemaExport - Unsuccessful: create table ports (id int8 not null, name varchar(80) not null, desc varchar(240), device_ip varchar(15) not null, primary key (id))
> 13:58:11 ERROR impl.Log4JLogger SchemaExport - ERROR: syntax error at or near "desc"
> Maybe I don't understand something (because it's hard to believe) but SchemaExport component
> doesn't use delimited identifiers to escape column names.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 2 months
[JBoss JIRA] Created: (EJBTHREE-722) can get a entity with entity relation to a superclass of a joined-inheritance
by Haohua xie (JIRA)
can get a entity with entity relation to a superclass of a joined-inheritance
------------------------------------------------------------------------------
Key: EJBTHREE-722
URL: http://jira.jboss.com/jira/browse/EJBTHREE-722
Project: EJB 3.0
Issue Type: Bug
Affects Versions: EJB 3.0 RC9 - FD
Environment: jboss.4.0.4GA EJB 3.0 RC9-FD JDK 1.5.0_08
Reporter: Haohua xie
use the ejb3 tutorial of joininheritance as the template . i did not chanage any code of Pet.java Cat.java Dog.java.i just add some functions to PetDao and PetDAOBean
i write a entity, Decorate, referring to Pet. i can insert a entity of Decorate into the database but when i try to get out the entities of Decorate from the database, some exception happens.
i also try the codes on jboss.4.0.4GA EJB 3.0 RC8-FD JDK 1.5.0_08. it works well and i got the result:
[java] Sox
[java] Junior
[java] Test
[java] Test2
Decorate.java
package org.jboss.tutorial.joininheritance.bean;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
@Entity
public class Decorate implements java.io.Serializable{
private int id;
private String name;
private Pet pet;
public Decorate() {
super();
}
@Id @GeneratedValue(strategy=GenerationType.AUTO)
public int getId() {
return id;
}
public String getName() {
return name;
}
@OneToOne(fetch = FetchType.LAZY)
public Pet getPet() {
return pet;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setPet(Pet pet) {
this.pet = pet;
}
}
PetDAO.java
package org.jboss.tutorial.joininheritance.bean;
import java.util.Collection;
import java.util.List;
public interface PetDAO
{
Dog createDog(String name, double weight, int bones);
Cat createCat(String name, double weight, int lives);
List findByWeight(double weight);
Decorate createDecorate(String name,Pet pet);
Collection getDecorate();
}
PetDAOBean.java
package org.jboss.tutorial.joininheritance.bean;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@Stateless
@Remote(PetDAO.class)
public class PetDAOBean implements PetDAO {
@PersistenceContext
private EntityManager manager;
public Dog createDog(String name, double weight, int bones) {
Dog dog = new Dog();
dog.setName(name);
dog.setWeight(weight);
dog.setNumBones(bones);
manager.persist(dog);
return dog;
}
public Cat createCat(String name, double weight, int lives) {
Cat cat = new Cat();
cat.setName(name);
cat.setWeight(weight);
cat.setLives(lives);
manager.persist(cat);
return cat;
}
public List findByWeight(double weight) {
return manager.createQuery(
"select p from Pet p where p.weight < :weight").setParameter(
"weight", weight).getResultList();
}
public Decorate createDecorate(String name, Pet pet) {
Decorate dec = new Decorate();
dec.setName(name);
dec.setPet(pet);
manager.persist(dec);
return dec;
}
public Collection getDecorate() {
Collection founds = new ArrayList();
Query query = manager.createQuery("SELECT o FROM Decorate o");
List list = query.getResultList();
for (Object obj : list) {
if (obj instanceof Decorate) {
founds.add((Decorate) obj);
}
}
return founds;
}
}
Client.java
public class Client {
public static void main(String[] args) throws Exception {
InitialContext ctx = new InitialContext();
PetDAO dao = (PetDAO) ctx.lookup("PetDAOBean/remote");
Pet p1 = dao.createCat("Toonses", 15.0, 9);
Pet p2 = dao.createCat("Sox", 10.0, 5);
Pet p3 = dao.createDog("Winnie", 70.0, 5);
Pet p4 = dao.createDog("Junior", 11.0, 1);
Decorate d1 = dao.createDecorate("Test", p1);
Decorate d2 = dao.createDecorate("Test2", p2);
List l = dao.findByWeight(14.0);
for (Object o : l) {
System.out.println(((Pet) o).getName());
}
Collection founds = dao.getDecorate(); //exception throws here
for (Decorate value : founds) {
System.out.println(value.getName());
}
}
}
Cat.java
package org.jboss.tutorial.joininheritance.bean;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Cat extends Pet
{
int lives;
public int getLives()
{
return lives;
}
public void setLives(int lives)
{
this.lives = lives;
}
}
Dog.java
package org.jboss.tutorial.joininheritance.bean;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Entity;
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Dog extends Pet
{
private int numBones;
public int getNumBones()
{
return numBones;
}
public void setNumBones(int numBones)
{
this.numBones = numBones;
}
}
run:
[java] Sox
[java] Junior
[java] Exception in thread "main" java.lang.RuntimeException: org.jboss.tm.
JBossRollbackException: Unable to commit, tx=TransactionImpl:XidImpl[FormatId=25
7, GlobalId=xhh/21, BranchQual=, localId=21] status=STATUS_NO_TRANSACTION; - nes
ted throwable: (javax.persistence.PersistenceException: org.hibernate.HibernateE
xception: instance not of expected entity type: org.jboss.tutorial.joininheritan
ce.bean.Pet_$$_javassist_10 is not a: org.jboss.tutorial.joininheritance.bean.Pe
t)
[java] at org.jboss.aspects.tx.TxPolicy.handleEndTransactionException(T
xPolicy.java:198)
[java] at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:18
0)
[java] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
[java] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxIntercep
tor.java:197)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropag
ationInterceptor.java:76)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(
StatelessInstanceInterceptor.java:62)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(A
uthenticationInterceptor.java:78)
[java] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(
Ejb3AuthenticationInterceptor.java:131)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagatio
nInterceptor.java:47)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(As
ynchronousInterceptor.java:106)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(Sta
telessContainer.java:263)
[java] at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
[java] at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invok
e(AOPRemotingInvocationHandler.java:82)
[java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:82
8)
[java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:68
1)
[java] at org.jboss.remoting.transport.socket.ServerThread.processInvoc
ation(ServerThread.java:358)
[java] at org.jboss.remoting.transport.socket.ServerThread.dorun(Server
Thread.java:412)
[java] at org.jboss.remoting.transport.socket.ServerThread.run(ServerTh
read.java:239)
[java] Caused by: org.jboss.tm.JBossRollbackException: Unable to commit, tx
=TransactionImpl:XidImpl[FormatId=257, GlobalId=xhh/21, BranchQual=, localId=21]
status=STATUS_NO_TRANSACTION; - nested throwable: (javax.persistence.Persistenc
eException: org.hibernate.HibernateException: instance not of expected entity ty
pe: org.jboss.tutorial.joininheritance.bean.Pet_$$_javassist_10 is not a: org.jb
oss.tutorial.joininheritance.bean.Pet)
[java] at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:372)
[java] at org.jboss.tm.TxManager.commit(TxManager.java:240)
[java] at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:17
5)
[java] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
[java] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxIntercep
tor.java:197)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropag
ationInterceptor.java:76)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(
StatelessInstanceInterceptor.java:62)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(A
uthenticationInterceptor.java:78)
[java] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(
Ejb3AuthenticationInterceptor.java:131)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagatio
nInterceptor.java:47)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(As
ynchronousInterceptor.java:106)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(Sta
telessContainer.java:263)
[java] at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
[java] at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invok
e(AOPRemotingInvocationHandler.java:82)
[java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:82
8)
[java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:68
1)
[java] at org.jboss.remoting.transport.socket.ServerThread.processInvoc
ation(ServerThread.java:358)
[java] at org.jboss.remoting.transport.socket.ServerThread.dorun(Server
Thread.java:412)
[java] at org.jboss.remoting.transport.socket.ServerThread.run(ServerTh
read.java:239)
[java] at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInv
oker.java:190)
[java] at org.jboss.remoting.Client.invoke(Client.java:525)
[java] at org.jboss.remoting.Client.invoke(Client.java:488)
[java] at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(Inv
okeRemoteInterceptor.java:55)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(Cl
ientTxPropagationInterceptor.java:61)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.aspects.security.SecurityClientInterceptor.invoke(S
ecurityClientInterceptor.java:55)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInte
rceptor.java:77)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(Stateles
sRemoteProxy.java:102)
[java] at $Proxy0.getDecorate(Unknown Source)
[java] at org.jboss.tutorial.joininheritance.Client.Client.main(Client.
java:56)
[java] Caused by: javax.persistence.PersistenceException: org.hibernate.Hib
ernateException: instance not of expected entity type: org.jboss.tutorial.joinin
heritance.bean.Pet_$$_javassist_10 is not a: org.jboss.tutorial.joininheritance.
bean.Pet
[java] at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceE
xception(AbstractEntityManagerImpl.java:641)
[java] at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletio
n(AbstractEntityManagerImpl.java:524)
[java] at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionIm
pl.java:1491)
[java] at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.ja
va:1110)
[java] at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:324)
[java] at org.jboss.tm.TxManager.commit(TxManager.java:240)
[java] at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:17
5)
[java] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
[java] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxIntercep
tor.java:197)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropag
ationInterceptor.java:76)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(
StatelessInstanceInterceptor.java:62)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(A
uthenticationInterceptor.java:78)
[java] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(
Ejb3AuthenticationInterceptor.java:131)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagatio
nInterceptor.java:47)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(As
ynchronousInterceptor.java:106)
[java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInv
ocation.java:101)
[java] at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(Sta
telessContainer.java:263)
[java] at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
[java] at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invok
e(AOPRemotingInvocationHandler.java:82)
[java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:82
8)
[java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:68
1)
[java] at org.jboss.remoting.transport.socket.ServerThread.processInvoc
ation(ServerThread.java:358)
[java] at org.jboss.remoting.transport.socket.ServerThread.dorun(Server
Thread.java:412)
[java] at org.jboss.remoting.transport.socket.ServerThread.run(ServerTh
read.java:239)
[java] Caused by: org.hibernate.HibernateException: instance not of expecte
d entity type: org.jboss.tutorial.joininheritance.bean.Pet_$$_javassist_10 is no
t a: org.jboss.tutorial.joininheritance.bean.Pet
[java] at org.hibernate.persister.entity.AbstractEntityPersister.getSub
classEntityPersister(AbstractEntityPersister.java:3568)
[java] at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl
.java:1347)
[java] at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java
:180)
[java] at org.hibernate.engine.CascadingAction$9.noCascade(CascadingAct
ion.java:347)
[java] at org.hibernate.engine.Cascade.cascade(Cascade.java:139)
[java] at org.hibernate.event.def.AbstractFlushingEventListener.cascade
OnFlush(AbstractFlushingEventListener.java:130)
[java] at org.hibernate.event.def.AbstractFlushingEventListener.prepare
EntityFlushes(AbstractFlushingEventListener.java:121)
[java] at org.hibernate.event.def.AbstractFlushingEventListener.flushEv
erythingToExecutions(AbstractFlushingEventListener.java:65)
[java] at org.hibernate.event.def.DefaultFlushEventListener.onFlush(Def
aultFlushEventListener.java:26)
[java] at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
[java] at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:
338)
[java] at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletio
n(AbstractEntityManagerImpl.java:515)
[java] ... 27 more
[java] Java Result: 1
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 2 months
[JBoss JIRA] Created: (EJBTHREE-652) JPA Is Requiring That Entity Bean Name Matches Table Name for @NamedQuery
by Sascha Goldsmith (JIRA)
JPA Is Requiring That Entity Bean Name Matches Table Name for @NamedQuery
-------------------------------------------------------------------------
Key: EJBTHREE-652
URL: http://jira.jboss.com/jira/browse/EJBTHREE-652
Project: EJB 3.0
Issue Type: Bug
Components: EJB3 Extensions
Affects Versions: EJB 3.0 RC7 - FD
Environment: JBoss-AS 4.0.4-GA.
Reporter: Sascha Goldsmith
Priority: Minor
I created an entity bean with its own unique Java name. This differed from the actual table name. The following named query produces a org.hibernate.hql.ast.QuerySyntaxException when the bean is deployed:
@Entity (name="ErrorAuditRecord")
@Table (name="error_audit")
@NamedQueries ({
@NamedQuery (name="findAllErrors", query="SELECT o FROM ErrorAuditRecord o")
))
In order to get it to work, I am forced to name my Java POJO the same name as the table's name:
@Entity (name="Error_Eudit")
@Table (name="Error_Eudit")
@NamedQueries ({
@NamedQuery (name="findAllErrors", query="SELECT o FROM Error_Audit o")
))
This seems, to me, to be a bug for two reaons:
1) Why even have separate @Entity and @Table annotations (with name attributes) if the names cannot differ?
2) Devlopers are forced to name classes exactly like the table name, which produces 'ugly' Java class names (ok, minor point, but I feel it is valid)
Does a subsequent EJB 3.0 release support having named queries access via entity name rather than table name? (Or more properly, without forcing one to name the entity bean with the table's name)?
Best regards. You guys have done a great job with EJB 3.0 so far!
Saish
PS: Other users are having same issue with Hibernate as the JPA provider: http://forum.springframework.org/showthread.php?t=19737
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 2 months
[JBoss JIRA] Created: (JBSER-93) StringUtil.saveString()/.readString() length bug
by Andrei Chiritescu (JIRA)
StringUtil.saveString()/.readString() length bug
-------------------------------------------------
Key: JBSER-93
URL: http://jira.jboss.com/jira/browse/JBSER-93
Project: JBoss Serialization
Issue Type: Bug
Reporter: Andrei Chiritescu
Assigned To: Clebert Suconic
In the StringUtil.saveString() method the length is saved using the following code :
<code>
if (len>0xffff)
{
out.writeBoolean(true); // the size is bigger than a short value
out.writeLong(len);
}
else
{
out.writeBoolean(false);
out.writeShort((short)len);
}
</code>
.... and in the StringUtil.readString() the length is read using :
<code>
boolean isLong = input.readBoolean();
if (isLong)
{
size = input.readLong();
}
else
{
size = input.readShort();
}
</code>
The problem is with string that have a length between '7FFF' and 'FFFF' - they will have the length stored as a short but when the length will be read for deserialization readShort() will return a negative number.
To fix this you'll have to either use 7FFF instead of FFFF in the saveString() when comparing or use 'size = input.readUnsignedShort();' when reading the length in the readString().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 2 months