Hibernate映射和sql脚本问题

时间:2014-03-08 07:39:28

标签: java sql hibernate

我有两节课。我不明白。如何在'用户'类上映射'fromUser'和'toUser'? 我应该向SQL添加什么?

请告诉我一本关于Hibernate和SQL的书。

CREATE TABLE message
            (
                id LONG NOT NULL,
                fromUser LONG NOT NULL,
                toUser LONG NOT NULL,
                primary key (id)
            );

 CREATE TABLE user
            (
            id LONG NOT NULL,
            primary key (id)
            );
@Entity
    @Access(FIELD)
    public class Message {

        @GeneratedValue(strategy = AUTO)
        @Id
        private Long id;       

        private User fromUser;

        private User toUser;
    }


    @Entity
    @Access(FIELD)
    public class User {
        @GeneratedValue(strategy = AUTO)
        @Id
        private Long id;         
    }

1 个答案:

答案 0 :(得分:0)

你必须添加像@OneToOne, @ManyToOne, @ManyToMany这样的关系mappigs。这取决于你之间的db关系。 由于您希望在User实体中拥有Message FK,因此Message映射应如下所示:

@Entity
    @Access(FIELD)
    public class Message {

        @GeneratedValue(strategy = AUTO)
        @Id
        private Long id;       

        @ManyToOne
        private User fromUser;
        @ManyToOne
        private User toUser;
    }

对于SQL,您应该将FK约束添加到User entiy。

在您阅读关于“Hibernate和SQL”之前,先从关系SQL引擎开始,因为您没有关于我想的关系的基本知识(请不要有任何难过)。