多:User,一:Group
@Entity
@Table(name="group")
public class Group {
private int id;
private String name;
private Set<User> users = new HashSet<User>();
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@OneToMany(mappedBy="group")
public Set<User> getUsers() {
return users;
}
public void setUsers(Set<User> users) {
this.users = users;
}
}
User:
@Entity
@Table(name="user")
public class User {
private int id;
private String name;
private Group group;
@ManyToOne
public Group getGroup() {
return group;
}
public void setGroup(Group group) {
this.group = group;
}
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@Table(name="group")
对Group注解表名是"group"时 数据库建的表不对 只有user表
如果把group改成其他名字就OK了。请问是什么原因啊 我用的是hibernate 3.6.6 数据库mysql
嘿嘿,你中招了吧。
http://blog.163.com/tianhui_dai/blog/static/1739111432010115115643331/
看看这里吧,其中大多数字进制被标准SQL用作列名和/或表名(例如,GROUP)
要知道mysql数据库里面的关键字是不能被使用的......
希望大家多多交流:hongtenzone@foxmail.com
恩 我也猜测是不是名字冲突了 ......呵呵谢谢!!