0

我是 Hibernate 的初学者,在将 3 个表与 2 个实体映射时发现了一个问题。

SQL 代码:

CREATE TABLE users (
  userid int unsigned auto_increment,
  username varchar(20) not null,
  password varchar(64) not null,
  primary key (userid)
);

CREATE TABLE roles (
  roleid int unsigned auto_increment,
  rolename varchar(10) not null,
  description varchar(255) not null
  primary key (roleid)
);

CREATE TABLE userroles (
  userid int unsigned not null,
  roleid int unsigned not null,
  primary key (userid,roleid),
  foreign key (userid) references users (userid),
  foreign key (roleid) references roles (roleid)
);

当前映射 xml

用户.hbm.xml

<class name="com.model.User" table="users">
  <id name="userId" column="userid">
    <generator class="native"/>
  </id>
  <property name="userName" column="username"/>
  <property name="password" column="password"/>
</class>

角色.hbm.xml

<class name="com.model.Role" table="roles">
  <id name="roleId" column="roleid">
    <generator class="native"/>
  </id>
  <property name="roleName" column="rolename"/>
  <property name="description" column="description"/>
</class>

还请告知如何创建实体 java 文件。谢谢

4

1 回答 1

0

我假设您在映射第三个表时遇到问题。您需要为第三个表使用复合键。以下是一些您可能会发现有用的链接:- http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#d0e2177 http://www.theserverside.com/discussions/thread.tss? thread_id=22638

如果您在创建文件时仍然遇到问题,请随时在答案中添加评论,我会尽力帮助您。要创建 java 文件,只需使用 getter 和 setter 创建文件,然后使用 get 方法提取数据并使用 set 方法输入新数据。

于 2012-09-06T03:10:23.737 回答