[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-5398) PersistentMap.keySet seems to produce a set containing values rather than keys.
rufus hamade (JIRA)
noreply at atlassian.com
Wed Jul 21 09:59:35 EDT 2010
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-5398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=37862#action_37862 ]
rufus hamade commented on HHH-5398:
-----------------------------------
oops, formatting screwy. A lot of the stuff in the description is supposed to be code fragments. Here's the improved version with appropriate markup:
I have a persistent Map defined as follows:
{noformat}
@Entity
public class Task {
[snip]
@OneToMany(mappedBy="task")
@MapKey(name="actor")
private Map<Long, TaskCC> ccs = new HashMap<Long, TaskCC>();
}
{noformat}
where
{noformat}
@Entity
public class TaskCC {
@Id @GeneratedValue
private Long id;
@ManyToOne(fetch=FetchType.LAZY)
private Task task;
@ManyToOne(fetch=FetchType.LAZY)
@AccessType("field")
private Actor actor;
{noformat}
and actor is an independent entity (i.e., no associations to Task or TaskCC) with a Long id field.
We have some code that does something like:
{noformat}
ids = new HashSet<Long>(bug.getCcs().keySet());
{noformat}
But the ids set seems to contain the Actors rather than the Actor IDs.
(p.s., the JIRA wiki code formatting is not very good:-( )
> PersistentMap.keySet seems to produce a set containing values rather than keys.
> -------------------------------------------------------------------------------
>
> Key: HHH-5398
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5398
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Affects Versions: 3.3.0.SP1
> Environment: Also Hibernate EntityManager 3.4.0 if that is relevant.
> Reporter: rufus hamade
>
> I have a persistent Map defined as follows:
> @Entity
> public class Task {
> [snip]
> @OneToMany(mappedBy="task")
> @MapKey(name="actor")
> private Map<Long, TaskCC> ccs = new HashMap<Long, TaskCC>();
> }
> where
> @Entity
> public class TaskCC {
> @Id
> @GeneratedValue
> private Long id;
> @ManyToOne(fetch=FetchType.LAZY)
> private Task task;
>
> @ManyToOne(fetch=FetchType.LAZY)
> @AccessType("field")
> private Actor actor;
> }
> and actor is an independent entity (i.e., no associations to Task or TaskCC) with a Long id field.
> We have some code that does something like:
> ids = new HashSet<Long>(bug.getCcs().keySet());
> But the ids set seems to contain the Actors rather than the Actor IDs.
> Let me know if the above is not sufficient and/or you want me to create a simplified test case for this.
--
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.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list