我是Hibernate的初学者,在使用2个实体映射3个表时发现了一个问题。
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)
);
当前映射xmls
User.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>
Role.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文件。感谢
答案 0 :(得分: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方法提取数据并设置方法以输入新数据。