在Hibernate5的高级组件中,利用关联关系操纵对象,编辑持久化对象与映射文件: 持久化对象有Company、Login、Address和Client。下面对Company、Login的代码进行编辑。 Company类的代码Company.java参考例7-5 Login类的代码Login.java参考例7-6
时间: 2024-02-23 22:00:15 浏览: 17
好的,下面是Company和Login的代码示例,包括对应的映射文件:
Company.java
```
@Entity
@Table(name = "company")
public class Company {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@OneToMany(mappedBy = "company", cascade = CascadeType.ALL, orphanRemoval = true)
private Set<Client> clients = new HashSet<>();
// getters and setters
}
```
Login.java
```
@Entity
@Table(name = "login")
public class Login {
@Id
@Column(name = "username")
private String username;
@Column(name = "password")
private String password;
@OneToOne(mappedBy = "login", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
private Client client;
// getters and setters
}
```
在这里,Company和Login之间建立了双向一对多和一对一的关联关系,分别通过clients和client属性来维护关联关系。使用cascade属性可以指定级联操作,使用orphanRemoval属性可以在删除Company或Login对象时自动删除相关的Client对象。映射文件中的set和one-to-one标签分别对应@OneToMany和@OneToOne注解。