[Hibernate-JIRA] Created: (HHH-3161) No Dialect mapping for JDBC type: -4
by cyrus (JIRA)
No Dialect mapping for JDBC type: -4
------------------------------------
Key: HHH-3161
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3161
Project: Hibernate3
Issue Type: Bug
Components: core, query-hql, query-sql
Affects Versions: 3.2.1
Environment: hibernate 3.2.1 + mysql
Reporter: cyrus
Priority: Critical
When I execute the statement below:
SELECT concat(case ip_protocol when 6 then 'TCP' when 17 then 'UDP' else 'OTHER' end, ', PORT ', repeat(' ', 5 - length(if(port is NULL, 0, port))), if(port is NULL, 0, port)) as protocol, concat(case ip_protocol when 6 then 'TCP' when 17 then 'UDP' else 'OTHER' end, if(port is NULL, 0, port)) as id, sum(byte_subtotal) as total FROM usage_sum_minute WHERE from_unixtime(time_min * 60) between '2008-02-03 14:00:00' and '2008-03-05 13:59:00' GROUP BY protocol ORDER BY total DESC LIMIT 0, 20
DB schema:
CREATE TABLE `ascot`.`usage_sum_minute` (
`id` int(11) NOT NULL auto_increment,
`igateway_id` smallint(5) NOT NULL,
`time_min` int(11) NOT NULL,
`user_name` varchar(255) default NULL,
`mac_local` varchar(80) NOT NULL,
`ip_local` bigint(20) NOT NULL,
`ip_remote` bigint(20) NOT NULL,
`ip_protocol` smallint(5) NOT NULL,
`port` smallint(6) default NULL,
`domain_name` char(80) default NULL,
`url` varchar(1024) default NULL,
`byte_subtotal` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `index_igateway` (`igateway_id`),
KEY `index_protocol` (`ip_protocol`),
KEY `index_minute` (`time_min`),
KEY `index_user` (`user_name`),
KEY `index_port` (`port`),
KEY `index_ip` (`ip_remote`)
) ENGINE=InnoDB AUTO_INCREMENT=505699 DEFAULT CHARSET=latin1
It give an exception "No Dialect mapping for JDBC type: -4"
--
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
15 years, 4 months
[Hibernate-JIRA] Created: (ANN-751) Hibernate reports erroneous "possible typo error" for properties with protected accessor methods
by Stephen R. Saucier (JIRA)
Hibernate reports erroneous "possible typo error" for properties with protected accessor methods
------------------------------------------------------------------------------------------------
Key: ANN-751
URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-751
Project: Hibernate Annotations
Issue Type: Improvement
Affects Versions: 3.3.0.ga
Reporter: Stephen R. Saucier
Priority: Minor
Attachments: checkForOrphanProperties.patch
According to the EJB3 spec, section 2.1.1 (Persistent Fields and Properties), "property accessor methods must be public or protected." However, the checkForOrphanProperties method of org.hibernate.cfg.annotations.reflection.EJB3OverridenAnnotationReader only looks for public methods (by virtue of the fact that it is using the getMethods method of Class. I believe that the checkForOrphanProperties method ought to look at the protected methods implemented in the entity class as well in order to eliminate the erroneous warning messages that are reported when using hibernate with protected property accessor methods.
I've attached a patch which implements this additional behavior.
--
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
15 years, 4 months
[Hibernate-JIRA] Created: (HBX-1093) Missing inverseJoinColumn at ManyToMany relations with composite keys
by Nils Kelleter (JIRA)
Missing inverseJoinColumn at ManyToMany relations with composite keys
---------------------------------------------------------------------
Key: HBX-1093
URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-1093
Project: Hibernate Tools
Issue Type: Bug
Components: hbm2java
Affects Versions: 3.2.2, 3.2LATER
Environment: Hibernate Tools version 3.2.2.Beta1 and 3.2.4.CR1-N200810300202, Oracle Database
Reporter: Nils Kelleter
Using the hbm2java tool for reverse engineering of database tables, the following problem exists:
At ManyToMany relations with composite keys an inverseJoinColumn is missing.
Wrong code:
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "ET_MANY_TO_MANY_COMP_MAPPING",
joinColumns = {
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP1_ID", nullable = false, updatable = false),
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP11_ID", nullable = false, updatable = false) },
inverseJoinColumns = {
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP2_ID", nullable = false, updatable = false) })
public Set<EtManyToManyComp2> getEtManyToManyComp2s() {
return this.etManyToManyComp2s;
}
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "ET_MANY_TO_MANY_COMP_MAPPING",
joinColumns = {
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP2_ID", nullable = false, updatable = false),
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP22_ID", nullable = false, updatable = false) },
inverseJoinColumns = {
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP1_ID", nullable = false, updatable = false) })
public Set<EtManyToManyComp1> getEtManyToManyComp1s() {
return this.etManyToManyComp1s;
}
Correct code:
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "ET_MANY_TO_MANY_COMP_MAPPING",
joinColumns = {
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP1_ID", nullable = false, updatable = false),
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP11_ID", nullable = false, updatable = false) },
inverseJoinColumns = {
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP2_ID", nullable = false, updatable = false),
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP22_ID", nullable = false, updatable = false) })
public Set<EtManyToManyComp2> getEtManyToManyComp2s() {
return this.etManyToManyComp2s;
}
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "ET_MANY_TO_MANY_COMP_MAPPING",
joinColumns = {
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP2_ID", nullable = false, updatable = false),
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP22_ID", nullable = false, updatable = false) },
inverseJoinColumns = {
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP1_ID", nullable = false, updatable = false),
@JoinColumn(name = "FK_ET_MANY_TO_MANY_COMP11_ID", nullable = false, updatable = false) })
public Set<EtManyToManyComp1> getEtManyToManyComp1s() {
return this.etManyToManyComp1s;
}
For reproducing this, you can use the following Oracle SQL scripts:
CREATE TABLE ET_MANY_TO_MANY_COMP1 (
ET_MANY_TO_MANY_COMP1_ID NUMBER,
ET_MANY_TO_MANY_COMP11_ID NUMBER,
FIELD VARCHAR2(10),
PRIMARY KEY (ET_MANY_TO_MANY_COMP1_ID, ET_MANY_TO_MANY_COMP11_ID)
);
CREATE TABLE ET_MANY_TO_MANY_COMP2 (
ET_MANY_TO_MANY_COMP2_ID NUMBER,
ET_MANY_TO_MANY_COMP22_ID NUMBER,
FIELD VARCHAR2(10),
PRIMARY KEY (ET_MANY_TO_MANY_COMP2_ID, ET_MANY_TO_MANY_COMP22_ID)
);
CREATE TABLE ET_MANY_TO_MANY_COMP_MAPPING (
FK_ET_MANY_TO_MANY_COMP1_ID NUMBER,
FK_ET_MANY_TO_MANY_COMP11_ID NUMBER,
FK_ET_MANY_TO_MANY_COMP2_ID NUMBER,
FK_ET_MANY_TO_MANY_COMP22_ID NUMBER,
FOREIGN KEY (FK_ET_MANY_TO_MANY_COMP1_ID,FK_ET_MANY_TO_MANY_COMP11_ID)
REFERENCES ET_MANY_TO_MANY_COMP1(ET_MANY_TO_MANY_COMP1_ID,ET_MANY_TO_MANY_COMP11_ID),
FOREIGN KEY (FK_ET_MANY_TO_MANY_COMP2_ID, FK_ET_MANY_TO_MANY_COMP22_ID)
REFERENCES ET_MANY_TO_MANY_COMP2(ET_MANY_TO_MANY_COMP2_ID, ET_MANY_TO_MANY_COMP22_ID),
PRIMARY KEY (FK_ET_MANY_TO_MANY_COMP1_ID,FK_ET_MANY_TO_MANY_COMP11_ID,FK_ET_MANY_TO_MANY_COMP2_ID,FK_ET_MANY_TO_MANY_COMP22_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
15 years, 4 months
[Hibernate-JIRA] Created: (EJB-315) unnecessary update when merge managed entity
by Jifeng Liu (JIRA)
unnecessary update when merge managed entity
--------------------------------------------
Key: EJB-315
URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-315
Project: Hibernate Entity Manager
Issue Type: Bug
Affects Versions: 3.3.1.GA
Environment: Hibernate Core 3.2.5.ga
Hibernate Annotations 3.3.0 GA
hsqldb
Reporter: Jifeng Liu
Attachments: testcase.zip
If the entity in em.merge(entity) is managed entity, the merge operation should be ignored. However it issues a update statement in the test case even if there is no changes.
In the test case, Parent entity has a list of Image entity with Many-To-Many relation. em.merge() somehow marks the list as dirty, which causes the update statement.
The following is trace log of the test case.
07.20,23 INFO ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
07.20,601 DEBUG SQL - /* insert test.Parent */ insert into Parent (updateDateTime, Parent_No) values (?, ?)
07.20,617 DEBUG SQL - /* insert test.Image */ insert into Image (name, imageNo) values (?, ?)
07.20,617 DEBUG SQL - /* insert collection row test.Parent.images */ insert into Parent_Image (Parent_Parent_No, images_
imageNo) values (?, ?)
07.20,632 DEBUG SQL - /* load test.Parent */ select parent0_.Parent_No as Parent1_0_0_, parent0_.updateDateTime as updat
eDa2_0_0_ from Parent parent0_ where parent0_.Parent_No=?
07.20,648 DEBUG SQL - /* load collection test.Parent.images */ select images0_.Parent_Parent_No as Parent1_1_, images0_.
images_imageNo as images2_1_, image1_.imageNo as imageNo1_0_, image1_.name as name1_0_ from Parent_Image images0_ left o
uter join Image image1_ on images0_.images_imageNo=image1_.imageNo where images0_.Parent_Parent_No=?
07.20,679 DEBUG SQL - /* update test.Parent */ update Parent set updateDateTime=? where Parent_No=? and updateDateTime=?
07.20,679 DEBUG SQL - /* delete collection test.Parent.images */ delete from Parent_Image where Parent_Parent_No=?
07.20,679 DEBUG SQL - /* insert collection row test.Parent.images */ insert into Parent_Image (Parent_Parent_No, images_
imageNo) values (?, ?)
--
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
15 years, 4 months
[Hibernate-JIRA] Created: (HHH-2830) Insert error ignored when using sybase generated identity column
by Martin van Dijken (JIRA)
Insert error ignored when using sybase generated identity column
----------------------------------------------------------------
Key: HHH-2830
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2830
Project: Hibernate3
Issue Type: Bug
Components: core
Affects Versions: 3.2.2
Environment: Hibernate 3.2.2, Sybase 12.5.3
Reporter: Martin van Dijken
All our tables have a single database generated identity column. This column is specified in Sybase as:
objectId numeric(12) identity
A little while ago, Hibernate started throwing NonUniqueObjectExceptions upon insert of a certain object. It turns out, the insert statement could not possibly succeed as the value of one of the columns was larger than the database column. The error is however ignored because Hibernate generates a query:
insert into objectTable (objectName, objectNumericErrorField) values (?,?) select @@ identity
The value of objectNumericErrorField was larger than the database column allows. The insert statement would therefore fail. The select @@identity however would succeed, only because no new row was inserted it would return the previous ID.
Hibernate then assumes the entire query worked fine and would assign the already assigned id to a different object. It would then check whether or not the id was already in use and throw a NonUniqueObjectException
--
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
15 years, 4 months