0

这是我的 sql

CREATE TABLE room
(
    room_id INT,
    primary key (room_id)
) ENGINE=InnoDB;
CREATE TABLE people
(
    people_id INT,
    live_in INT,
    primary key (people_id),
    foreign key (live_in) references room(room_id)
) ENGINE=InnoDB;

这是我的 2 实体

@Entity
@Table(name="room")
public class RoomClass{
    private int RoomIdMember;
    private Set<PeopleClass> Peoples = new HashSet<PeopleClass>(0);

    @Id
    @Column(name="room_id")
    public int getRoomIdMember() {
        return RoomIdMember;
    }
    public void setRoomIdMember(int roomIdMember) {
        RoomIdMember = roomIdMember;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "LiveInMem")
    public Set<PeopleClass> getPeoples() {
        return Peoples;
    }
    public void setPeoples(Set<PeopleClass> peoples) {
        Peoples = peoples;
    }   
}

@Entity
@Table(name="people")
public class PeopleClass {
    private int PeopleIdMem;
    private RoomClass LiveInMem;

    @Id
    @Column(name="people_id")
    public int getPeopleIdMem() {
        return PeopleIdMem;
    }
    public void setPeopleIdMem(int peopleIdMem) {
        PeopleIdMem = peopleIdMem;
    }
    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    //@ManyToOne
    @JoinColumn(name="live_in", referencedColumnName="room_id")
    public RoomClass getLiveInMem() {
        return LiveInMem;
    }
    public void setLiveInMem(RoomClass liveInMem) {
        LiveInMem = liveInMem;
    }
}

在主函数中,当我写

Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
...

日食 说

mappedBy reference an unknown target entity property: quang.entity.PeopleClass.LiveInMem in quang.entity.RoomClass.peoples

为什么我会收到此错误?

4

1 回答 1

0

尝试将Peoples所有其他类变量设为小写。
这是通常/标准的Java代码约定。
我不确定,但我强烈怀疑这与您的问题有关。

于 2014-12-26T22:40:46.957 回答