@Entity
public class User {
@Id @GeneratedValue
public long id;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user", cascade = CascadeType.ALL)
@MapKeyColumn(name = "name"/*, nullable = true*/)
public Map<String, UserData> userData = new HashMap<String, UserData>();
}
@Entity
public class UserData {
@Id @GeneratedValue
public long id;
@ManyToOne
public User user;
}
User user = new User();
s.persist( user );
s.flush();
Query q = s.createQuery( "DELETE FROM UserData d WHERE d.user = :user" );
q.setParameter( "user", user );
q.executeUpdate();