[Hibernate-JIRA] Created: (HBX-755) incorrect genreated code for many-to-many relationship
by azamjalali (JIRA)
incorrect genreated code for many-to-many relationship
-------------------------------------------------------
Key: HBX-755
URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-755
Project: Hibernate Tools
Type: Bug
Components: ant
Versions: 3.2beta7
Reporter: azamjalali
The following code is generated for Table rolea and roleb( these tables have many-to-many relation). Both of entities use ManytoMany annotation without jointable annotation.
/////////////////////////////////////////////////////////////////////
package trce.impr.subsystem.entity;
// Generated Sep 17, 2006 1:04:06 AM by Hibernate Tools 3.2.0.beta7
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
/**
* RoleB generated by hbm2java
*/
@Entity
@Table(name="roleb"
,catalog="registration"
, uniqueConstraints = { }
)
public class RoleB implements java.io.Serializable {
// Fields
private int rolebId;
private Set<RoleA> roleas = new HashSet<RoleA>(0);
// Constructors
/** default constructor */
public RoleB() {
}
/** minimal constructor */
public RoleB(int rolebId) {
this.rolebId = rolebId;
}
/** full constructor */
public RoleB(int rolebId, Set<RoleA> roleas) {
this.rolebId = rolebId;
this.roleas = roleas;
}
// Property accessors
@Id
@Column(name="roleb_id", unique=true, nullable=false, insertable=true, updatable=true)
public int getRolebId() {
return this.rolebId;
}
public void setRolebId(int rolebId) {
this.rolebId = rolebId;
}
@ManyToMany(cascade={CascadeType.ALL}, fetch=FetchType.LAZY, mappedBy="rolebs")
public Set<RoleA> getRoleas() {
return this.roleas;
}
public void setRoleas(Set<RoleA> roleas) {
this.roleas = roleas;
}
}
////////////////////////////////////////////////////////////////////////////////////
package trce.impr.subsystem.entity;
// Generated Sep 17, 2006 1:04:06 AM by Hibernate Tools 3.2.0.beta7
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
/**
* RoleA generated by hbm2java
*/
@Entity
@Table(name="rolea"
,catalog="registration"
, uniqueConstraints = { }
)
public class RoleA implements java.io.Serializable {
// Fields
private int roleaId;
private Set<RoleB> rolebs = new HashSet<RoleB>(0);
// Constructors
/** default constructor */
public RoleA() {
}
/** minimal constructor */
public RoleA(int roleaId) {
this.roleaId = roleaId;
}
/** full constructor */
public RoleA(int roleaId, Set<RoleB> rolebs) {
this.roleaId = roleaId;
this.rolebs = rolebs;
}
// Property accessors
@Id
@Column(name="rolea_id", unique=true, nullable=false, insertable=true, updatable=true)
public int getRoleaId() {
return this.roleaId;
}
y
public void setRoleaId(int roleaId) {
this.roleaId = roleaId;
}
@ManyToMany(cascade={CascadeType.ALL}, fetch=FetchType.LAZY, mappedBy="roleas")
public Set<RoleB> getRolebs() {
return this.rolebs;
}
public void setRolebs(Set<RoleB> rolebs) {
this.rolebs = rolebs;
}
}
//////////////////////////////////////////////////////////////////////
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
17 years
[Hibernate-JIRA] Created: (HBX-774) ClassCastException by create/open/execute a *.hql file
by Damir Isanbirdin (JIRA)
ClassCastException by create/open/execute a *.hql file
------------------------------------------------------
Key: HBX-774
URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-774
Project: Hibernate Tools
Type: Bug
Components: visualizations, eclipse, consoleconfiguration
Versions: 3.1.beta5, 3.1beta5a, 3.2beta6, 3.2beta7, 3.2beta8
Environment: 3.1.0 beta 5. Eclipse-plugin, DB: HSQLDB
Reporter: Damir Isanbirdin
Priority: Blocker
!ENTRY org.eclipse.ui 4 4 2006-10-04 04:17:14.265
!MESSAGE Unhandled event loop exception
!ENTRY org.eclipse.ui 4 0 2006-10-04 04:17:14.265
!MESSAGE Failed to execute runnable (java.lang.ClassCastException: org.eclipse.ui.part.FileEditorInput)
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.ClassCastException: org.eclipse.ui.part.FileEditorInput)
....
!ENTRY org.eclipse.ui 4 4 2006-10-04 04:17:16.921
!MESSAGE Save Failed
!STACK 0
java.lang.ClassCastException: org.eclipse.ui.part.FileEditorInput
at org.hibernate.eclipse.hqleditor.HQLEditor.doSave(HQLEditor.java:430)
at org.eclipse.ui.internal.SaveableHelper$1.run(SaveableHelper.java:95)
at org.eclipse.ui.internal.SaveableHelper$2.run(SaveableHelper.java:116)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
!ENTRY org.eclipse.ui 4 4 2006-10-04 04:17:17.296
!MESSAGE Unhandled event loop exception
!ENTRY org.eclipse.ui 4 0 2006-10-04 04:17:17.296
!MESSAGE Failed to execute runnable (java.lang.ClassCastException: org.eclipse.ui.part.FileEditorInput)
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.ClassCastException: org.eclipse.ui.part.FileEditorInput)
at org.eclipse.swt.SWT.error(SWT.java:2942)
at org.eclipse.swt.SWT.error(SWT.java:2865)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3102)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2761)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
... 51 more
!ENTRY org.hibernate.eclipse.console 4 150 2006-10-04 04:17:29.687
!MESSAGE Exception while executing HQL Query
!SUBENTRY 1 org.hibernate.eclipse.console 4 150 2006-10-04 04:17:29.703
!MESSAGE org.hibernate.QueryException: unexpected char: ';' [select s from mapping.ScaleData s, mapping.ScalesMappingData sm, mapping.AgencyRatingData ar, mapping.AgencyData a
where s.scaleid=sm.scale.scaleid
and sm.agencyrating.ratingid=ar.ratingid
and ar.agency.agencyid=a.agencyid
and a.agencyname=: param1
and ar.rating= :param2;]
!STACK 0
org.hibernate.QueryException: unexpected char: ';' [select s from mapping.ScaleData s, mapping.ScalesMappingData sm, mapping.AgencyRatingData ar, mapping.AgencyData a
where s.scaleid=sm.scale.scaleid
and sm.agencyrating.ratingid=ar.ratingid
and ar.agency.agencyid=a.agencyid
and a.agencyname=: param1
and ar.rating= :param2;]
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:203)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:110)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1586)
at org.hibernate.console.HQLQueryPage.setSession(HQLQueryPage.java:77)
at org.hibernate.console.ConsoleConfiguration$3.execute(ConsoleConfiguration.java:292)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:35)
at org.hibernate.console.ConsoleConfiguration.executeHQLQuery(ConsoleConfiguration.java:287)
at org.hibernate.eclipse.console.actions.ExecuteHQLAction.execute(ExecuteHQLAction.java:134)
at org.hibernate.eclipse.console.actions.ExecuteHQLAction$2.run(ExecuteHQLAction.java:104)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538)
...
!ENTRY org.eclipse.ui 4 4 2006-10-04 04:17:36.171
!MESSAGE Save Failed
!ENTRY org.eclipse.ui 2 0 2006-10-04 04:17:36.171
!MESSAGE Save Failed
!STACK 0
java.lang.ClassCastException: org.eclipse.ui.part.FileEditorInput
at org.hibernate.eclipse.hqleditor.HQLEditor.doSave(HQLEditor.java:430)
at org.eclipse.ui.internal.SaveableHelper$1.run(SaveableHelper.java:95)
at org.eclipse.ui.internal.SaveableHelper$2.run(SaveableHelper.java:116)
...
!ENTRY org.eclipse.ui 4 4 2006-10-04 04:17:42.484
!MESSAGE Save Failed
!ENTRY org.eclipse.ui 2 0 2006-10-04 04:17:42.500
!MESSAGE Save Failed
!STACK 0
java.lang.ClassCastException: org.eclipse.ui.part.FileEditorInput
at org.hibernate.eclipse.hqleditor.HQLEditor.doSave(HQLEditor.java:430)
at org.eclipse.ui.internal.SaveableHelper$1.run(SaveableHelper.java:95)
at org.eclipse.ui.internal.SaveableHelper$2.run(SaveableHelper.java:116)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:346)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:291)
at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:624)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:621)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2134)
...
!ENTRY org.eclipse.ui.workbench 4 2 2006-10-04 04:17:48.78
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
!STACK 0
java.lang.ClassCastException: org.eclipse.ui.part.FileEditorInput
at org.hibernate.eclipse.hqleditor.HQLEditor.getConsoleConfiguration(HQLEditor.java:438)
at org.hibernate.eclipse.console.views.DynamicSQLPreviewView.updateText(DynamicSQLPreviewView.java:115)
at org.hibernate.eclipse.console.views.DynamicSQLPreviewView.setCurrentEditor(DynamicSQLPreviewView.java:108)
at org.hibernate.eclipse.console.views.DynamicSQLPreviewView.hookIntoEditor(DynamicSQLPreviewView.java:92)
at org.hibernate.eclipse.console.views.DynamicSQLPreviewView.access$2(DynamicSQLPreviewView.java:85)
at org.hibernate.eclipse.console.views.DynamicSQLPreviewView$1.partBroughtToTop(DynamicSQLPreviewView.java:70)
at org.eclipse.ui.internal.PartListenerList2$2.run(PartListenerList2.java:83)
at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
at org.eclipse.core.runtime.Platform.run(Platform.java:783)
at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:54)
...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
17 years
[Hibernate-JIRA] Created: (HBX-1009) @JoinColumn on association with composite foreign key needs referencedColumnName
by Gavin King (JIRA)
@JoinColumn on association with composite foreign key needs referencedColumnName
--------------------------------------------------------------------------------
Key: HBX-1009
URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-1009
Project: Hibernate Tools
Issue Type: Bug
Components: hbm2java
Reporter: Gavin King
Its not ok to generate this:
@JoinColumns( { @JoinColumn(name = "make"), @JoinColumn(name = "model"),
@JoinColumn(name = "year") })
You need the referencedColumnNames.
Incidently, is all this noisy crap really necessary?
@EmbeddedId
@AttributeOverrides( {
@AttributeOverride(name = "make", column = @Column(name = "make", nullable = false, length = 20)),
@AttributeOverride(name = "model", column = @Column(name = "model", nullable = false, length = 30)),
@AttributeOverride(name = "year", column = @Column(name = "year", nullable = false)) })
@NotNull
public ModelYearId getId() {
return this.id;
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years
[Hibernate-JIRA] Created: (ANN-669) More then one @Id silently fail
by Hontvári József (JIRA)
More then one @Id silently fail
-------------------------------
Key: ANN-669
URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-669
Project: Hibernate Annotations
Issue Type: Bug
Affects Versions: 3.3.0.ga
Environment: Hibernate 3.2.5, MySQL
Reporter: Hontvári József
Priority: Minor
If two fields have @Id and the class has no @IdClass annotation then the first(?) field will disappear from Hibernate metadata. I.e. you will see in the log in a "EntityLoader Static select for entity..." entry that the select doesn't contain the field.
(If you add an @IdClass or leaves only one @Id annotation makes the column appear again.)
The first problem is that is doesn't say anything, even on trace logging level, it just fails in a strange way.
The second is that I belive the @IdClass shouldn't be required anyway. There is a similar construct in the xml mapping using the composite-id element: if no primary key class is supplied then the entity class itself become the key class. This is not as rude as it seems, just imagine a class of which all attributes are part of the primary key.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years
[Hibernate-JIRA] Created: (HHH-2925) Property with access=noop results in org.hibernate.PropertyNotFoundException
by H. Duong (JIRA)
Property with access=noop results in org.hibernate.PropertyNotFoundException
----------------------------------------------------------------------------
Key: HHH-2925
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2925
Project: Hibernate3
Issue Type: Bug
Affects Versions: 3.2.4.sp1
Environment: Hibernate 3.2.4.sp1, MSSQL/2005, MS sqljdbc-1.0 driver
Reporter: H. Duong
A property with attribute access="noop" results in an exception being thrown: org.hibernate.PropertyNotFoundException
I have the following property declared:
<property name="errorCount" formula="(SELECT COUNT(*) FROM ECLError WHERE AbstractDeliveryIID = abstractDeliveryIID)" access="noop"/>
Even declaring the property with attribute insert="false" & update="false" results in the same exception being thrown:
<property name="errorCount" formula="(SELECT COUNT(*) FROM ECLError WHERE AbstractDeliveryIID = abstractDeliveryIID)" access="noop" insert="false" update="false"/>
Here is the exception stacktrace (I have replaced the actual classname with XXX_CLASSNAME_XXX:
org.hibernate.PropertyNotFoundException: field [errorCount] not found on XXX_CLASSNAME_XXX
org.hibernate.property.DirectPropertyAccessor.getField(DirectPropertyAccessor.java:122)
org.hibernate.property.DirectPropertyAccessor.getField(DirectPropertyAccessor.java:114)
org.hibernate.property.DirectPropertyAccessor.getGetter(DirectPropertyAccessor.java:137)
org.hibernate.util.ReflectHelper.getter(ReflectHelper.java:83)
org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:71)
org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:276)
org.hibernate.cfg.HbmBinder.createProperty(HbmBinder.java:2174)
org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2151)
org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2041)
org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:359)
org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
org.hibernate.cfg.Configuration.add(Configuration.java:669)
org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:656)
org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244)
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)
org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:82)
javax.servlet.GenericServlet.init(GenericServlet.java:211)
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
org.apache.catalina.startup.Catalina.start(Catalina.java:551)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years
[Hibernate-JIRA] Created: (HHH-2829) SubqueryExpression create wrong sql in the case DetachedCriteria has Subcriteria
by Sunao Suzuki (JIRA)
SubqueryExpression create wrong sql in the case DetachedCriteria has Subcriteria
--------------------------------------------------------------------------------
Key: HHH-2829
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2829
Project: Hibernate3
Issue Type: Bug
Components: query-criteria
Affects Versions: 3.2.5
Environment: Hibernate 3.2.5ga
Reporter: Sunao Suzuki
Priority: Critical
SubqueryExpression create wrong sql in the case DetachedCriteria has Subcriteria(inner join).
in the case using DetachedCriteria( has Subcriteria) like below , it's works good.
DetachedCriteria dc = DetachedCriteria.forClass(Person.class);
DetachedCriteria in = dc.createCriteria("emails");
in.add(Restrictions.eq("personEmailId", (long)1));
dc.setProjection(Projections.id());
Criteria c = dc.getExecutableCriteria(session);
c.list();
select this_.PERSON_ID as y0_ from PERSON this_ inner join PERSON_EMAIL personemai1_ on this_.PERSON_ID=personemai1_.FK_PERSON_ID where personemai1_.PERSON_EMAIL_ID=?
But in the case using DetachedCriteria( has Subcriteria) for subquery like below, it doesn't work.
DetachedCriteria dc = DetachedCriteria.forClass(Person.class);
DetachedCriteria in = dc.createCriteria("emails");
in.add(Restrictions.eq("personEmailId", (long)1));
dc.setProjection(Projections.id());
Criteria c = session.createCriteria(Person.class);
c.add(Subqueries.propertyIn("personId", dc));
c.setProjection(Projections.id());
c.list();
select this_.PERSON_ID as y0_ from PERSON this_ where this_.PERSON_ID in (select this0__.PERSON_ID as y0_ from PERSON this0__ where personemai1_.PERSON_EMAIL_ID=?)
I hope fix quickly.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years