[
https://issues.redhat.com/browse/HIBERNATE-172?page=com.atlassian.jira.pl...
]
nimo stephan updated HIBERNATE-172:
-----------------------------------
Description:
I have an orderinary entity with this property:
{code:java}
@Entity
@DynamicUpdate
public class User {
private String name;
@Convert(converter = TaskConverter.class)
private Map<Task, Type> tasks;
..
}
{code}
where the `Task` is an Enum-class and the `Type` is another Enum-class. The converter
converts the tasks to a string and back. All works, however, Hibernate generates an
additional update statement for the `tasks` when I create a new `User`-Instance or update
other entity properties of the `User`-instance:
{code:java}
// this update statement is always created altough "tasks" was not changed
update User set tasks=? where id_user=?
{code}
The above update statement always follows after another update statement of the same
entity. For example:
{code:java}
// here I only change the name property and an update is triggered
update User set name=? where id_user=?
// but then hibernate also creates immediatly this update statement even if I did not
change tasks
update User set tasks=? where id_user=?
{code}
It behaves as if `tasks` would be an @ElementCollection where the `tasks` is always
recreated on create or update of any other property within `User`. However, I annotated it
with `@Convert`.
Hibernate should not generate an update statement if `tasks` is left unchanged.
was:
I have an orderinary entity with this property:
{code:java}
@Entity
@DynamicUpdate
public class User {
private String name;
@Convert(converter = TaskConverter.class)
private Map<Task, Type> tasks;
..
}
{code}
where the `Task` is an Enum-class and the `Type` is another Enum-class. The converter
converts the tasks to a string and back. All works, however, Hibernate generates an
additional update statement for the `tasks` when I create a new `User`-Instance or update
other entity properties of the `User`-instance:
{code:java}
// this update statement is always created altough "tasks" was not changed
update User set tasks=? where id_user=?
{code}
The above update statement always follows after another update statement of the same
entity. For example:
{code:java}
// here I only change the name property and an update is triggered
update User set name=? where id_user=?
// but then hibernate also creates immediatly this update statement even if I did not
change tasks
update User set tasks=? where id_user=?
{code}
It behaves as if `tasks` would be an @ElementCollection where the tasks is always
recreated on create or update of its parent entity `User`. However, I annotated it with
`@Convert`.
Hibernate should not generate an update statement if `tasks` is left unchanged.
Hibernate generates no needed update statement
----------------------------------------------
Key: HIBERNATE-172
URL:
https://issues.redhat.com/browse/HIBERNATE-172
Project: Hibernate Integration
Issue Type: Bug
Reporter: nimo stephan
Assignee: Steve Ebersole
Priority: Major
I have an orderinary entity with this property:
{code:java}
@Entity
@DynamicUpdate
public class User {
private String name;
@Convert(converter = TaskConverter.class)
private Map<Task, Type> tasks;
..
}
{code}
where the `Task` is an Enum-class and the `Type` is another Enum-class. The converter
converts the tasks to a string and back. All works, however, Hibernate generates an
additional update statement for the `tasks` when I create a new `User`-Instance or update
other entity properties of the `User`-instance:
{code:java}
// this update statement is always created altough "tasks" was not changed
update User set tasks=? where id_user=?
{code}
The above update statement always follows after another update statement of the same
entity. For example:
{code:java}
// here I only change the name property and an update is triggered
update User set name=? where id_user=?
// but then hibernate also creates immediatly this update statement even if I did not
change tasks
update User set tasks=? where id_user=?
{code}
It behaves as if `tasks` would be an @ElementCollection where the `tasks` is always
recreated on create or update of any other property within `User`. However, I annotated it
with `@Convert`.
Hibernate should not generate an update statement if `tasks` is left unchanged.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)