在数据库中持久化java实体
我还没有任何关于ORM、Hibernate、JPA之类的知识,所以这是一种在数据库中映射实体之间关联的有效方法,而不使用它们吗 谢谢 用户可以注册公司。 每个公司都有许多部门。 每个部门都有许多部门,例如办公室、员工等在数据库中持久化java实体,java,oop,Java,Oop,我还没有任何关于ORM、Hibernate、JPA之类的知识,所以这是一种在数据库中映射实体之间关联的有效方法,而不使用它们吗 谢谢 用户可以注册公司。 每个公司都有许多部门。 每个部门都有许多部门,例如办公室、员工等 public class Company{ private String company_name; private int company_registration_number; private String company_address; public Company
public class Company{
private String company_name;
private int company_registration_number;
private String company_address;
public Company(String company_name, int crn, String company_address) {
this.company_name = company_name;
this.company_registration_number = crn;
this.company_address = company_address;
}
/* Getters, Setters, toString */
}
系级
public class Department {
private String dept_name;
private String dept_description;
public Department( String dept_name, String dept_description) {
this.dept_name = dept_name;
this.dept_description=dept_description;
}
/*Getters, Setters, toString*/
}
公司数据库
public class CompanyDB {
public boolean createCompany(Company company) throws SQLException {
String sql_query = "INSERT INTO " + DB_NAME + ".company VALUES (?, ?, ? )";
}
//other crud methods
}
部门数据库
public class DepartmentDB {
public boolean createDepartment(Department department, String company_name) throws SQLException {
String sql_query = "INSERT INTO " + DB_NAME +
".department(dept_name, dept_description, company_name)" +
" VALUES(?, ?, ?) " +
" WHERE company_name=?";
}
//other crud methods
}
SQL:
由于JPA实体映射是通过注释完成的,表也可能由Hibernate插件生成,请阅读相关内容。此链接可能会有所帮助您可能希望查看Hibernate关系或注释,因为这会使您的生活更加轻松 看 或者是一些基础知识 看起来您已经掌握了基本知识,但是Hibernate/JPA提供了这样的功能,您只需创建数据库表和关系或具有映射的实体,它就会自动为您生成另一半 一个你想做什么的例子
public class Company {
@Id
private Long id;
@Column(name = "company_name")
private String companyName;
@Column(name = "company_registration_number")
private int companyRegistrationNumber;
@Column(name = "company_address")
private String companyAddress;
@OneToMany
private Set<Department> departments;
/* Getters, Setters, toString */
}
在这种情况下,Hibernate将通过在Department表(公司的主键上)上创建一列,自动将公司与所有部门关联,以便将所有部门与所述公司关联 这个问题属于
public class Company {
@Id
private Long id;
@Column(name = "company_name")
private String companyName;
@Column(name = "company_registration_number")
private int companyRegistrationNumber;
@Column(name = "company_address")
private String companyAddress;
@OneToMany
private Set<Department> departments;
/* Getters, Setters, toString */
}
public class Department {
@Id
private Long id;
@Column(name = "dept_name")
private String deptName;
@Column(name = "dept_description")
private String deptDescription;
@ManyToOne
private Company company;
/*Getters, Setters, toString*/
}