[Hibernate-JIRA] Created: (HHH-3776) ClassCastException when second level cache (ehcache) is activated with caches replication
by Stephane Nicoll (JIRA)
ClassCastException when second level cache (ehcache) is activated with caches replication
-----------------------------------------------------------------------------------------
Key: HHH-3776
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3776
Project: Hibernate Core
Issue Type: Bug
Components: caching (L2)
Affects Versions: 3.2.6
Environment: Annotations 3.3.1 GA, ehcache 1.3
Reporter: Stephane Nicoll
Priority: Critical
I have an application with ehcache as second-level cache which is working fine. Because we have another app that may access the database as well, we have started to activate the caches replication. Since then, we see ClassCastException for basically any request that is issued on the system.
I've isolated two main cases
Case 1: ClassCastException in DefaultInitializeCollectionEventListener, line 129
CollectionCacheEntry cacheEntry = (CollectionCacheEntry) persister.getCacheEntryStructure()
.destructure(ce, factory);
the persister returns a UnstructuredCacheEntry instead of a CollectionCacheEntry. I have checked with the debugger and the metadata are fine. For the record, here's the metadata about this cached relations
@OneToMany(
mappedBy = "catalogItem",
fetch = FetchType.LAZY,
targetEntity = MetadataItemEntity.class)
@Cascade({org.hibernate.annotations.CascadeType.ALL, org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "com.erdas.rsp.babel.DefaultCollectionCache")
private Set<MetadataItemEntity> metadata = new TreeSet<MetadataItemEntity>();
Case 2: ClassCastException in StructuredMapCacheEntry,line 27
Map map = (Map) item;
where item is a CollectionCacheEntry array (empty in this case). It relates to another relation that is working perfectly fine if cache replication is disabled
--
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, 1 month
[Hibernate-JIRA] Created: (HBX-757) Add output file name, delimiter, halt on error, and format options to SchemaUpdate/<hbm2ddl>
by Dan Ports (JIRA)
Add output file name, delimiter, halt on error, and format options to SchemaUpdate/<hbm2ddl>
--------------------------------------------------------------------------------------------
Key: HBX-757
URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-757
Project: Hibernate Tools
Type: Improvement
Components: ant
Versions: 3.2beta7
Reporter: Dan Ports
Priority: Minor
The file name, delimiter, halt on error, and format options are provided by SchemaExport/<hbm2ddl> already, so it makes sense to add their functionality to SchemaUpdate as well. I'll submit a patch shortly. (Is this the right place to post this, since SchemaUpdate is in the Hibernate core SVN?)
--
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, 1 month
[Hibernate-JIRA] Resolved: (HBX-446) one-to-many relation with not-null attribute on key element
by Max Rydahl Andersen (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HBX-446?page=co... ]
Max Rydahl Andersen resolved HBX-446.
-------------------------------------
Resolution: Cannot Reproduce
i tried it today and did not get an error.
Reopen or open new issue with how your ant build.xml actually look like if it still happens for you.
> one-to-many relation with not-null attribute on key element
> -----------------------------------------------------------
>
> Key: HBX-446
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-446
> Project: Hibernate Tools
> Issue Type: Bug
> Components: hbm2java
> Environment: 3.x
> Reporter: Sreeram Katta
> Priority: Critical
> Fix For: 3.2.4.CR1
>
>
> one-to-many relation with not-null attribute on key element is throwing below error when I run the hbm2java tool. I have a base class with a joined-subclass and the joined subclass has one-to-many relationship with another class. The one-to-many uses a list. When I specify not-null attribute on the key element in the relationship I get the below error. If I remove it I don't get this error. If I let the key stay not-null, during run time persistence fails. So I had to revert the mapping file at runtime for the persistence to go fine. It is only the tool that is misbehaving.
> ----------------> Error
> org.hibernate.tool.hbm2x.ExporterException: Error while processing t
> emplate pojo/javaclass.vm
> at org.apache.tools.ant.Task.perform(Task.java:373)
> at org.apache.tools.ant.Target.execute(Target.java:341)
> at org.apache.tools.ant.Target.performTasks(Target.java:369)
> at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
> at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
> at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
> at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
> at org.apache.tools.ant.Main.runBuild(Main.java:668)
> at org.apache.tools.ant.Main.startAnt(Main.java:187)
> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> Caused by: org.hibernate.tool.hbm2x.ExporterException: Error while processing template pojo/javaclass.vm
> at org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(TemplateHelper.java:89)
> at org.hibernate.tool.hbm2x.POJOExporter.runVelocity(POJOExporter.java:78)
> at org.hibernate.tool.hbm2x.POJOExporter.exportPersistentClass(POJOExporter.java:61)
> at org.hibernate.tool.hbm2x.POJOExporter.start(POJOExporter.java:111)
> at org.hibernate.tool.ant.GeneratorTask.execute(GeneratorTask.java:33)
> at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:115)
> at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> at org.apache.tools.ant.Task.perform(Task.java:364)
> -----------------
> mapping files
> -----------> Base class
> <?xml version="1.0"?>
> <!DOCTYPE hibernate-mapping PUBLIC
> "-//Hibernate/Hibernate Mapping DTD//EN"
> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
> <hibernate-mapping package="test.resources.core">
> <class
> name="Resource"
> table="Resource" polymorphism="explicit"
> >
> <id
> name="Id"
> type="integer"
> column="resourceId"
> >
> <meta attribute="use-in-equals">true</meta>
> <generator class="hilo">
> <param name="table">ResourceIdTracker</param>
> <param name="column">resourceId</param>
> </generator>
> </id>
> <property
> name="ResourceName"
> column="resourceName"
> type="string"
> not-null="true"
> length="80"
> />
> <property
> name="ResourceDescription"
> column="resourceDescription"
> type="string"
> not-null="true"
> length="255"
> />
> <property
> name="ResourceTypeId"
> column="resourceTypeId"
> type="integer"
> not-null="true"
> length="10"
> />
> <property
> name="CreatedBy"
> column="createdBy"
> type="integer"
> not-null="true"
> length="10"
> />
> <property
> name="CreatedTime"
> column="createdTime"
> type="timestamp"
> not-null="true"
> length="23"
> />
> <property
> name="LastUpdatedBy"
> column="lastUpdatedBy"
> type="integer"
> not-null="true"
> length="10"
> />
> <property
> name="LastUpdatedTime"
> column="lastUpdatedTime"
> type="timestamp"
> not-null="true"
> length="23"
> />
> <property
> name="Deleted"
> column="deleted"
> type="string"
> not-null="true"
> length="1"
> />
> <set name="ResourcePermissions" table="ResourcePermission" inverse="true">
> <key column="resourceId" not-null="true"/>
> <one-to-many class="ResourcePermission"/>
> </set>
> </class>
> </hibernate-mapping>
> --------------------> JOINED SUBCLASS
> <?xml version="1.0"?>
> <!DOCTYPE hibernate-mapping PUBLIC
> "-//Hibernate/Hibernate Mapping DTD//EN"
> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
> <hibernate-mapping package="test.resources.chartbook">
> <joined-subclass
> name="ChartDefinition"
> table="ChartDefinition"
> extends="test.resources.core.Resource"
> >
> <key column="chartDefinitionId"/>
> <property
> name="FromDate"
> column="fromDate"
> type="integer"
> not-null="false"
> length="10"
> />
> <property
> name="ToDate"
> column="toDate"
> type="integer"
> not-null="false"
> length="10"
> />
> <property
> name="Period"
> column="period"
> type="string"
> not-null="false"
> length="32"
> />
> <property
> name="ViewType"
> column="viewType"
> type="string"
> not-null="false"
> length="32"
> />
> <!-- This works but requires bidrecitional setting -->
> <one-to-one name="chartAxisDefinition" cascade="all-delete-orphan" class="ChartAxisDefinition"/>
> <!-- having a not-null attribute on key is thowing error while generating classes where as -->
> <!-- not having it is throwing an error while inserting -->
> <!-- for now removing while code generation and adding it back while run time -->
> <!-- NEED TO ADDRESS THIS -->
> <list name="ChartSeries" cascade="all-delete-orphan" inverse="false" lazy="false">
> <key column="chartDefinitionId" not-null="true"/>
> <list-index column="position" />
> <one-to-many class="ChartSeries"/>
> </list>
> </joined-subclass>
> </hibernate-mapping>
> --------------> ONE TO MANY TARGET
> <?xml version="1.0"?>
> <!DOCTYPE hibernate-mapping PUBLIC
> "-//Hibernate/Hibernate Mapping DTD//EN"
> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
> <hibernate-mapping package="test.resources.chartbook">
> <class
> name="ChartSeries"
> table="ChartSeries"
> >
> <id
> name="Id"
> type="integer"
> column="chartSeriesId"
> >
> <generator class="hilo">
> <param name="table">ResourceIdTracker</param>
> <param name="column">resourceId</param>
> </generator>
> </id>
> <property
> name="Included"
> column="included"
> type="string"
> not-null="true"
> length="1"
> />
> <property
> name="SelectorTreeNodePath"
> column="selectorTreeNodePath"
> type="string"
> not-null="false"
> length="1024"
> />
> <property
> name="Attribute"
> column="attribute"
> type="string"
> not-null="false"
> length="50"
> />
> <property
> name="ColumnName"
> column="columnName"
> type="string"
> not-null="false"
> length="255"
> />
> <property
> name="Formula"
> column="formula"
> type="string"
> not-null="false"
> />
> <property
> name="AxisLocation"
> column="axisLocation"
> type="string"
> not-null="true"
> length="32"
> />
> <property
> name="Position"
> column="position"
> type="integer"
> not-null="true"
> length="10"
> insert="false"
> update="false"
> />
> </class>
> </hibernate-mapping>
> -------------- ONE TO ONE TARGET
> <?xml version="1.0"?>
> <!DOCTYPE hibernate-mapping PUBLIC
> "-//Hibernate/Hibernate Mapping DTD//EN"
> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
> <hibernate-mapping package="test.resources.chartbook">
> <class
> name="ChartAxisDefinition"
> table="ChartAxisDefinition"
> >
> <id
> name="Id"
> type="integer"
> column="chartAxisDefinitionId"
> >
> <generator class="foreign">
> <param name="property">ChartDefinition</param>
> </generator>
> </id>
> <property
> name="LeftAxisMin"
> column="leftAxisMin"
> type="java.lang.Double"
> not-null="true"
> length="15"
> />
> <property
> name="LeftAxisMax"
> column="leftAxisMax"
> type="java.lang.Double"
> not-null="true"
> length="15"
> />
> <property
> name="RightAxisMin"
> column="rightAxisMin"
> type="java.lang.Double"
> not-null="true"
> length="15"
> />
> <property
> name="RightAxisMax"
> column="rightAxisMax"
> type="java.lang.Double"
> not-null="true"
> length="15"
> />
> <property
> name="LeftAxisLabel"
> column="leftAxisLabel"
> type="string"
> not-null="true"
> length="32"
> />
> <property
> name="RightAxisLabel"
> column="rightAxisLabel"
> type="string"
> not-null="true"
> length="32"
> />
> <property
> name="ChartName"
> column="chartName"
> type="string"
> not-null="true"
> length="80"
> />
> <one-to-one name="ChartDefinition" class="ChartDefinition" constrained="true"/>
> </class>
> </hibernate-mapping>
--
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, 1 month