Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未使用spring数据在联接列中持久化数据_Java_Spring_Hibernate_Jdbc_Spring Data - Fatal编程技术网

Java 未使用spring数据在联接列中持久化数据

Java 未使用spring数据在联接列中持久化数据,java,spring,hibernate,jdbc,spring-data,Java,Spring,Hibernate,Jdbc,Spring Data,hibernate输出如下所示 Hibernate:在usernew(活动、电子邮件、名字、CGUID、姓氏、中间名、PIN)中插入值(?、、?、?、?、?) Hibernate:在usernew(活动、电子邮件、名字、CGUID、姓氏、中间名、PIN)中插入值(?、、?、?、?、?) Hibernate:在eventnew(活动、地址、描述、结束、主机电话号码、图像、纬度、经度、名称、地点ID、开始)中插入值(?,,,,,,,,,,,?) 下面是代码,不确定为什么联接表没有被填充 packa

hibernate输出如下所示

Hibernate:在usernew(活动、电子邮件、名字、CGUID、姓氏、中间名、PIN)中插入值(?、、?、?、?、?)

Hibernate:在usernew(活动、电子邮件、名字、CGUID、姓氏、中间名、PIN)中插入值(?、、?、?、?、?)

Hibernate:在eventnew(活动、地址、描述、结束、主机电话号码、图像、纬度、经度、名称、地点ID、开始)中插入值(?,,,,,,,,,,,?)

下面是代码,不确定为什么联接表没有被填充

 package com.hive.domain;

    import static javax.persistence.GenerationType.IDENTITY;

    import java.util.Date;
    import java.util.HashSet;
    import java.util.Set;

    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
    import javax.persistence.Transient;

    import org.codehaus.jackson.map.annotate.JsonDeserialize;
    import org.codehaus.jackson.map.annotate.JsonSerialize;

    import com.hive.json.marshaller.DateUTCDeserializer;
    import com.hive.json.marshaller.DateUTCSerializer;
    import com.hive.json.marshaller.ImageDeserializer;
    import com.hive.json.marshaller.ImageSerializer;

    @Entity
    @Table(name = "eventnew")
    public class Event implements java.io.Serializable {

        private Integer id;
        private String name;
        private String description;
        private String address;
        private String latitude;
        private String longitude;

        @JsonSerialize(using = ImageSerializer.class)
        @JsonDeserialize(using = ImageDeserializer.class)
        private byte[] image;
        private String placeId;

        @JsonSerialize(using = DateUTCSerializer.class)
        @JsonDeserialize(using = DateUTCDeserializer.class)
        private Date startAt;

        @JsonSerialize(using = DateUTCSerializer.class)
        @JsonDeserialize(using = DateUTCDeserializer.class)
        private Date endAt;

        private boolean active;
        private String hostPhoneNumber;

        private Set<User> participants = new HashSet<User>(0);
        private Set<EventUser> eventUsers = new HashSet<EventUser>(0);

        public Event() {
        }

        @Id
        @GeneratedValue(strategy = IDENTITY)
        @Column(name = "ID", unique = true, nullable = false)
        public Integer getId() {
            return this.id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

        @Column(name = "NAME", nullable = false, length = 10)
        public String getName() {
            return this.name;
        }

        public void setName(String name) {
            this.name = name;
        }

        @Column(name = "DESCRIPTION")
        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        @Column(name = "ADDRESS")
        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        @Column(name = "LATITUDE")
        public String getLatitude() {
            return latitude;
        }

        public void setLatitude(String latitude) {
            this.latitude = latitude;
        }

        @Column(name = "LONGITUDE")
        public String getLongitude() {
            return longitude;
        }

        public void setLongitude(String longitude) {
            this.longitude = longitude;
        }

        @Column(name = "START_TS")
        public Date getStartAt() {
            return startAt;
        }

        public void setStartAt(Date startAt) {
            this.startAt = startAt;
        }

        @Column(name = "END_TS")
        public Date getEndAt() {
            return endAt;
        }

        public void setEndAt(Date endAt) {
            this.endAt = endAt;
        }

        @Column(name = "IMAGE")
        public byte[] getImage() {
            return image;
        }

        public void setImage(byte[] image) {
            this.image = image;
        }

        @Column(name = "PLACE_ID")
        public String getPlaceId() {
            return placeId;
        }

        public void setPlaceId(String placeId) {
            this.placeId = placeId;
        }

        @Column(name = "ACTIVE")
        public boolean isActive() {
            return active;
        }

        public void setActive(boolean active) {
            this.active = active;
        }

        @Column(name = "HOST_PHONE_NUMBER")
        public String getHostPhoneNumber() {
            return hostPhoneNumber;
        }

        public void setHostPhoneNumber(String hostPhoneNumber) {
            this.hostPhoneNumber = hostPhoneNumber;
        }

        @Transient
        public Set<User> getParticipants() {
            return participants;
        }

        public void setParticipants(Set<User> participants) {
            this.participants = participants;
        }

        @OneToMany(fetch = FetchType.LAZY, mappedBy = "pk.event")
        public Set<EventUser> getEventUsers() {
            return this.eventUsers;
        }

        public void setEventUsers(Set<EventUser> eventUsers) {
            this.eventUsers = eventUsers;
        }

    }

    package com.hive.domain;

    import static javax.persistence.GenerationType.IDENTITY;

    import java.util.HashSet;
    import java.util.Set;

    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
    import javax.persistence.UniqueConstraint;

    @Entity
    @Table(name = "usernew")
    public class User implements java.io.Serializable {

        private String guid;
        private String firstName;
        private String middleName;
        private String lastName;
        private Integer phoneNumber;
        private String email;
        private String pin;
        private boolean active;

        private Set<EventUser> eventUsers = new HashSet<EventUser>(0);

        public User() {
        }

        @Column(name = "CGUID")
        public String getGuid() {
            return guid;
        }

        public void setGuid(String guid) {
            this.guid = guid;
        }

        @Id
        @GeneratedValue(strategy = IDENTITY)
        @Column(name = "PHONE_NUMBER", unique = true, nullable = false)
        public Integer getPhoneNumber() {
            return phoneNumber;
        }

        public void setPhoneNumber(Integer phoneNumber) {
            this.phoneNumber = phoneNumber;
        }

        @Column(name = "FIRST_NAME")
        public String getFirstName() {
            return firstName;
        }

        public void setFirstName(String firstName) {
            this.firstName = firstName;
        }

        @Column(name = "LAST_NAME")
        public String getLastName() {
            return lastName;
        }

        public void setLastName(String lastName) {
            this.lastName = lastName;
        }

        @Column(name = "MIDDLE_NAME")
        public String getMiddleName() {
            return middleName;
        }

        public void setMiddleName(String middleName) {
            this.middleName = middleName;
        }

        @Column(name = "EMAIL")
        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }

        @Column(name = "PIN")
        public String getPin() {
            return pin;
        }

        public void setPin(String pin) {
            this.pin = pin;
        }

        @Column(name = "ACTIVE")
        public boolean isActive() {
            return active;
        }

        public void setActive(boolean active) {
            this.active = active;
        }

        @OneToMany(fetch = FetchType.LAZY, mappedBy = "pk.user", cascade = CascadeType.ALL)
        public Set<EventUser> getEventUsers() {
            return this.eventUsers;
        }

        public void setEventUsers(Set<EventUser> eventUsers) {
            this.eventUsers = eventUsers;
        }

    }


    package com.hive.domain;

    import javax.persistence.AssociationOverride;
    import javax.persistence.AssociationOverrides;
    import javax.persistence.Column;
    import javax.persistence.EmbeddedId;
    import javax.persistence.Entity;
    import javax.persistence.JoinColumn;
    import javax.persistence.Table;
    import javax.persistence.Transient;

    @Entity
    @Table(name = "eventusernew", catalog = "hive")
    @AssociationOverrides({ @AssociationOverride(name = "pk.user", joinColumns = @JoinColumn(name = "USER_ID") ),
            @AssociationOverride(name = "pk.event", joinColumns = @JoinColumn(name = "EVENT_ID") ) })
    public class EventUser implements java.io.Serializable {

        private EventUserId pk = new EventUserId();
    //  private String state;
    //  private String comment;
    //  private String displayName;

        public EventUser() {
        }

    //  @Column(name = "STATE")
    //  public String getState() {
    //      return state;
    //  }
    //
    //  @Column(name = "DISPLAY_NAME")
    //  public String getDisplayName() {
    //      return displayName;
    //  }
    //
    //  public void setDisplayName(String displayName) {
    //      this.displayName = displayName;
    //  }
    //
    //  public void setState(String state) {
    //      this.state = state;
    //  }
    //
    //  @Column(name = "COMMENT")
    //  public String getComment() {
    //      return comment;
    //  }
    //
    //  public void setComment(String comment) {
    //      this.comment = comment;
    //  }

        @EmbeddedId
        public EventUserId getPk() {
            return pk;
        }

        public void setPk(EventUserId pk) {
            this.pk = pk;
        }

        @Transient
        public User getUser() {
            return getPk().getUser();
        }

        public void setUser(User stock) {
            getPk().setUser(stock);
        }

        @Transient
        public Event getEvent() {
            return getPk().getEvent();
        }

        public void setEvent(Event category) {
            getPk().setEvent(category);
        }

        public boolean equals(Object o) {
            if (this == o)
                return true;
            if (o == null || getClass() != o.getClass())
                return false;

            EventUser that = (EventUser) o;

            if (getPk() != null ? !getPk().equals(that.getPk()) : that.getPk() != null)
                return false;

            return true;
        }

        public int hashCode() {
            return (getPk() != null ? getPk().hashCode() : 0);
        }
    }


    package com.hive.domain;

    import javax.persistence.Embeddable;
    import javax.persistence.ManyToOne;

    @Embeddable
    public class EventUserId implements java.io.Serializable {

        private User user;
        private Event event;

        @ManyToOne
        public User getUser() {
            return user;
        }

        public void setUser(User stock) {
            this.user = stock;
        }

        @ManyToOne
        public Event getEvent() {
            return event;
        }

        public void setEvent(Event category) {
            this.event = category;
        }

        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;

            EventUserId that = (EventUserId) o;

            if (user != null ? !user.equals(that.user) : that.user != null) return false;
            if (event != null ? !event.equals(that.event) : that.event != null)
                return false;

            return true;
        }

        public int hashCode() {
            int result;
            result = (user != null ? user.hashCode() : 0);
            result = 31 * result + (event != null ? event.hashCode() : 0);
            return result;
        }

    }
package com.hive.domain;
导入静态javax.persistence.GenerationType.IDENTITY;
导入java.util.Date;
导入java.util.HashSet;
导入java.util.Set;
导入javax.persistence.Column;
导入javax.persistence.Entity;
导入javax.persistence.FetchType;
导入javax.persistence.GeneratedValue;
导入javax.persistence.Id;
导入javax.persistence.OneToMany;
导入javax.persistence.Table;
导入javax.persistence.Transient;
导入org.codehaus.jackson.map.annotate.JsonDeserialize;
导入org.codehaus.jackson.map.annotate.JsonSerialize;
导入com.hive.json.marshaller.DateUTCDeserializer;
导入com.hive.json.marshaller.DateUTCSerializer;
导入com.hive.json.marshaller.ImageDeserializer;
导入com.hive.json.marshaller.ImageSerializer;
@实体
@表(name=“eventnew”)
公共类事件实现java.io.Serializable{
私有整数id;
私有字符串名称;
私有字符串描述;
私有字符串地址;
私有字符串纬度;
私有字符串经度;
@JsonSerialize(使用=ImageSerializer.class)
@JsonDeserialize(使用=ImageDeserializer.class)
私有字节[]图像;
私有字符串placeId;
@JsonSerialize(使用=DateUTCSerializer.class)
@JsonDeserialize(使用=DateUTCDeserializer.class)
私人约会开始;
@JsonSerialize(使用=DateUTCSerializer.class)
@JsonDeserialize(使用=DateUTCDeserializer.class)
私人约会结束;
私有布尔活动;
私有字符串hostPhoneNumber;
私有集参与者=新哈希集(0);
私有集eventUsers=新哈希集(0);
公共活动(){
}
@身份证
@生成值(策略=标识)
@列(name=“ID”,unique=true,nullable=false)
公共整数getId(){
返回此.id;
}
公共无效集合id(整数id){
this.id=id;
}
@列(name=“name”,null=false,长度=10)
公共字符串getName(){
返回此.name;
}
公共void集合名(字符串名){
this.name=名称;
}
@列(name=“DESCRIPTION”)
公共字符串getDescription(){
返回说明;
}
公共void集合描述(字符串描述){
this.description=描述;
}
@列(name=“ADDRESS”)
公共字符串getAddress(){
回信地址;
}
公共无效设置地址(字符串地址){
this.address=地址;
}
@列(名称=“纬度”)
公共字符串getLatitude(){
返回纬度;
}
公共void设置纬度(字符串纬度){
这个。纬度=纬度;
}
@列(name=“经度”)
公共字符串getLongitude(){
返回经度;
}
公共无效设置经度(字符串经度){
这个经度=经度;
}
@列(name=“START\u TS”)
公开日期getStartAt(){
返回startAt;
}
公共无效设置开始日期(日期开始日期){
this.startAt=startAt;
}
@列(name=“END_TS”)
公共日期getEndAt(){
返回端;
}
公共无效设置结束日期(日期结束日期){
this.endAt=endAt;
}
@列(name=“IMAGE”)
公共字节[]getImage(){
返回图像;
}
public void setImage(字节[]图像){
这个图像=图像;
}
@列(name=“PLACE\u ID”)
公共字符串getPlaceId(){
返回placeId;
}
公共void setPlaceId(字符串placeId){
this.placeId=placeId;
}
@列(name=“ACTIVE”)
公共布尔isActive(){
主动返回;
}
public void setActive(布尔激活){
这个.active=active;
}
@列(name=“主机电话号码”)
公共字符串getHostPhoneNumber(){
返回主机电话号码;
}
public void setHostPhoneNumber(字符串hostPhoneNumber){
this.hostPhoneNumber=主机电话号码;
}
@短暂的
公共集getParticipants(){
返回参与者;
}
公共参与者(集合参与者){
这一点。参与者=参与者;
}
@OneToMany(fetch=FetchType.LAZY,mappedBy=“pk.event”)
公共集getEventUsers(){
返回此.eventUsers;
}
public void setEventUsers(Set eventUsers){
this.eventUsers=eventUsers;
}
}
包com.hive.domain;
导入静态javax.persistence.GenerationType.IDENTITY;
导入java.util.HashSet;
导入java.util.Set;
导入javax.persistence.CascadeType;
导入javax.persistence.Column;
导入javax.persistence.Entity;
导入javax.persistence.FetchType;
导入javax.persistence.GeneratedValue;
导入javax.persistence.Id;
导入javax.persistence.OneToMany;
导入javax.persistence.Table;
导入javax.persistence.UniqueConstraint;
@实体
@T
 package com.hive.domain;

    import static javax.persistence.GenerationType.IDENTITY;

    import java.util.Date;
    import java.util.HashSet;
    import java.util.Set;

    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
    import javax.persistence.Transient;

    import org.codehaus.jackson.map.annotate.JsonDeserialize;
    import org.codehaus.jackson.map.annotate.JsonSerialize;

    import com.hive.json.marshaller.DateUTCDeserializer;
    import com.hive.json.marshaller.DateUTCSerializer;
    import com.hive.json.marshaller.ImageDeserializer;
    import com.hive.json.marshaller.ImageSerializer;

    @Entity
    @Table(name = "eventnew")
    public class Event implements java.io.Serializable {

        private Integer id;
        private String name;
        private String description;
        private String address;
        private String latitude;
        private String longitude;

        @JsonSerialize(using = ImageSerializer.class)
        @JsonDeserialize(using = ImageDeserializer.class)
        private byte[] image;
        private String placeId;

        @JsonSerialize(using = DateUTCSerializer.class)
        @JsonDeserialize(using = DateUTCDeserializer.class)
        private Date startAt;

        @JsonSerialize(using = DateUTCSerializer.class)
        @JsonDeserialize(using = DateUTCDeserializer.class)
        private Date endAt;

        private boolean active;
        private String hostPhoneNumber;

        private Set<User> participants = new HashSet<User>(0);
        private Set<EventUser> eventUsers = new HashSet<EventUser>(0);

        public Event() {
        }

        @Id
        @GeneratedValue(strategy = IDENTITY)
        @Column(name = "ID", unique = true, nullable = false)
        public Integer getId() {
            return this.id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

        @Column(name = "NAME", nullable = false, length = 10)
        public String getName() {
            return this.name;
        }

        public void setName(String name) {
            this.name = name;
        }

        @Column(name = "DESCRIPTION")
        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        @Column(name = "ADDRESS")
        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        @Column(name = "LATITUDE")
        public String getLatitude() {
            return latitude;
        }

        public void setLatitude(String latitude) {
            this.latitude = latitude;
        }

        @Column(name = "LONGITUDE")
        public String getLongitude() {
            return longitude;
        }

        public void setLongitude(String longitude) {
            this.longitude = longitude;
        }

        @Column(name = "START_TS")
        public Date getStartAt() {
            return startAt;
        }

        public void setStartAt(Date startAt) {
            this.startAt = startAt;
        }

        @Column(name = "END_TS")
        public Date getEndAt() {
            return endAt;
        }

        public void setEndAt(Date endAt) {
            this.endAt = endAt;
        }

        @Column(name = "IMAGE")
        public byte[] getImage() {
            return image;
        }

        public void setImage(byte[] image) {
            this.image = image;
        }

        @Column(name = "PLACE_ID")
        public String getPlaceId() {
            return placeId;
        }

        public void setPlaceId(String placeId) {
            this.placeId = placeId;
        }

        @Column(name = "ACTIVE")
        public boolean isActive() {
            return active;
        }

        public void setActive(boolean active) {
            this.active = active;
        }

        @Column(name = "HOST_PHONE_NUMBER")
        public String getHostPhoneNumber() {
            return hostPhoneNumber;
        }

        public void setHostPhoneNumber(String hostPhoneNumber) {
            this.hostPhoneNumber = hostPhoneNumber;
        }

        @Transient
        public Set<User> getParticipants() {
            return participants;
        }

        public void setParticipants(Set<User> participants) {
            this.participants = participants;
        }

        @OneToMany(fetch = FetchType.LAZY, mappedBy = "pk.event")
        public Set<EventUser> getEventUsers() {
            return this.eventUsers;
        }

        public void setEventUsers(Set<EventUser> eventUsers) {
            this.eventUsers = eventUsers;
        }

    }

    package com.hive.domain;

    import static javax.persistence.GenerationType.IDENTITY;

    import java.util.HashSet;
    import java.util.Set;

    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.FetchType;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
    import javax.persistence.UniqueConstraint;

    @Entity
    @Table(name = "usernew")
    public class User implements java.io.Serializable {

        private String guid;
        private String firstName;
        private String middleName;
        private String lastName;
        private Integer phoneNumber;
        private String email;
        private String pin;
        private boolean active;

        private Set<EventUser> eventUsers = new HashSet<EventUser>(0);

        public User() {
        }

        @Column(name = "CGUID")
        public String getGuid() {
            return guid;
        }

        public void setGuid(String guid) {
            this.guid = guid;
        }

        @Id
        @GeneratedValue(strategy = IDENTITY)
        @Column(name = "PHONE_NUMBER", unique = true, nullable = false)
        public Integer getPhoneNumber() {
            return phoneNumber;
        }

        public void setPhoneNumber(Integer phoneNumber) {
            this.phoneNumber = phoneNumber;
        }

        @Column(name = "FIRST_NAME")
        public String getFirstName() {
            return firstName;
        }

        public void setFirstName(String firstName) {
            this.firstName = firstName;
        }

        @Column(name = "LAST_NAME")
        public String getLastName() {
            return lastName;
        }

        public void setLastName(String lastName) {
            this.lastName = lastName;
        }

        @Column(name = "MIDDLE_NAME")
        public String getMiddleName() {
            return middleName;
        }

        public void setMiddleName(String middleName) {
            this.middleName = middleName;
        }

        @Column(name = "EMAIL")
        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }

        @Column(name = "PIN")
        public String getPin() {
            return pin;
        }

        public void setPin(String pin) {
            this.pin = pin;
        }

        @Column(name = "ACTIVE")
        public boolean isActive() {
            return active;
        }

        public void setActive(boolean active) {
            this.active = active;
        }

        @OneToMany(fetch = FetchType.LAZY, mappedBy = "pk.user", cascade = CascadeType.ALL)
        public Set<EventUser> getEventUsers() {
            return this.eventUsers;
        }

        public void setEventUsers(Set<EventUser> eventUsers) {
            this.eventUsers = eventUsers;
        }

    }


    package com.hive.domain;

    import javax.persistence.AssociationOverride;
    import javax.persistence.AssociationOverrides;
    import javax.persistence.Column;
    import javax.persistence.EmbeddedId;
    import javax.persistence.Entity;
    import javax.persistence.JoinColumn;
    import javax.persistence.Table;
    import javax.persistence.Transient;

    @Entity
    @Table(name = "eventusernew", catalog = "hive")
    @AssociationOverrides({ @AssociationOverride(name = "pk.user", joinColumns = @JoinColumn(name = "USER_ID") ),
            @AssociationOverride(name = "pk.event", joinColumns = @JoinColumn(name = "EVENT_ID") ) })
    public class EventUser implements java.io.Serializable {

        private EventUserId pk = new EventUserId();
    //  private String state;
    //  private String comment;
    //  private String displayName;

        public EventUser() {
        }

    //  @Column(name = "STATE")
    //  public String getState() {
    //      return state;
    //  }
    //
    //  @Column(name = "DISPLAY_NAME")
    //  public String getDisplayName() {
    //      return displayName;
    //  }
    //
    //  public void setDisplayName(String displayName) {
    //      this.displayName = displayName;
    //  }
    //
    //  public void setState(String state) {
    //      this.state = state;
    //  }
    //
    //  @Column(name = "COMMENT")
    //  public String getComment() {
    //      return comment;
    //  }
    //
    //  public void setComment(String comment) {
    //      this.comment = comment;
    //  }

        @EmbeddedId
        public EventUserId getPk() {
            return pk;
        }

        public void setPk(EventUserId pk) {
            this.pk = pk;
        }

        @Transient
        public User getUser() {
            return getPk().getUser();
        }

        public void setUser(User stock) {
            getPk().setUser(stock);
        }

        @Transient
        public Event getEvent() {
            return getPk().getEvent();
        }

        public void setEvent(Event category) {
            getPk().setEvent(category);
        }

        public boolean equals(Object o) {
            if (this == o)
                return true;
            if (o == null || getClass() != o.getClass())
                return false;

            EventUser that = (EventUser) o;

            if (getPk() != null ? !getPk().equals(that.getPk()) : that.getPk() != null)
                return false;

            return true;
        }

        public int hashCode() {
            return (getPk() != null ? getPk().hashCode() : 0);
        }
    }


    package com.hive.domain;

    import javax.persistence.Embeddable;
    import javax.persistence.ManyToOne;

    @Embeddable
    public class EventUserId implements java.io.Serializable {

        private User user;
        private Event event;

        @ManyToOne
        public User getUser() {
            return user;
        }

        public void setUser(User stock) {
            this.user = stock;
        }

        @ManyToOne
        public Event getEvent() {
            return event;
        }

        public void setEvent(Event category) {
            this.event = category;
        }

        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;

            EventUserId that = (EventUserId) o;

            if (user != null ? !user.equals(that.user) : that.user != null) return false;
            if (event != null ? !event.equals(that.event) : that.event != null)
                return false;

            return true;
        }

        public int hashCode() {
            int result;
            result = (user != null ? user.hashCode() : 0);
            result = 31 * result + (event != null ? event.hashCode() : 0);
            return result;
        }

    }
@OneToMany(mappedBy="pk.event", cascade=CascadeType.ALL)