hibernate annotation onetoone问题

Azrael99999 2010-03-25 02:21:22
比方说
我有 两张表
a(id int,name varchar(20) ,outid int ,PRIMARY KEY (id),
FOREIGN KEY (outid ) REFERENCES b(id));
b(id int,name varchar(20));

@Entity
public class a {
@Id
private int id;
@Column
private String name;

private int outid;
。。。

}

@Entity
public class b {
@Id
private int id;
@Column
private String name;
。。。
}SET 和 GET 都省略了
我想 以表b 为主要 他删除的 时候 a 就删除
怎么写 onetoone 的 关联啊
...全文
153 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
longtenggdf 2010-03-25
  • 打赏
  • 举报
回复
其实你可以做成1对多,就好些很多了。
关键的地方:cascade = CascadeType.ALL,指定了级联的类型。
BearKin 2010-03-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 longtenggdf 的回复:]
@Entity
@Table(name = "USER")
public class User {

@Id
private long id;
private String name;

@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
private Address address;

private U……
[/Quote]
这个就是 有点类似一对多那种方式
@OneToOne(mappedBy = "address")
private User user;
BearKin 2010-03-25
  • 打赏
  • 举报
回复
http://tfnew21.javaeye.com/blog/493229
LZ看这个 可以用一个实体通过外键关联到另一个实体的主键
Azrael99999 2010-03-25
  • 打赏
  • 举报
回复
longtenggdf
你这种事 主键 共享
我要另一种 怎么写的 ?。。。。
longtenggdf 2010-03-25
  • 打赏
  • 举报
回复
@Entity
@Table(name = "USER")
public class User {

@Id
private long id;
private String name;

@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
private Address address;

private User() {
}

public User(String name) {
this.name = name;
}
}

@Entity
@Table(name = "ADDRESS")
public class Address {

@Id
@GeneratedValue(generator = "myForeignGenerator")
@GenericGenerator(name = "myForeignGenerator",
strategy = "foreign",
parameters = @Parameter(name = "property", value = "user"))
@Column(name = "ADDRESS_ID")
private Long id;

private String city;
private String street;

@OneToOne(mappedBy = "address")
private User user;

public Address(){
}

public Address(String city, String street){
this.city = city;
this.street = street;
}
}
xuhesheng 2010-03-25
  • 打赏
  • 举报
回复
你可以看看 cascade="all|none|save-update|delete"
不知道好不好用
我没用过onetoone的
xuhesheng 2010-03-25
  • 打赏
  • 举报
回复
onetoone的话呢
<class name=" com.test.hibernate .User" table="TBL_USER">
<id name="id" column="userId"><generator class="native"/></id>
<many-to-one name=“idCard” column=“idCardId” outer-join="false“ unique=“true”/>
</class>
<class name="com.test.hibernate.IdCard" table="TBL_IDCARD">
<id name="id" column="idCardId"><generator class="native"/></id>
</class>
表明用户表和IDCard表是主键关联的
不知道是不是符合你的要求

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧