gpt4 book ai didi

java - 是否有与 QSqlTableModel 等效的 Java ORM?

转载 作者:行者123 更新时间:2023-12-01 13:56:24 25 4
gpt4 key购买 nike

我目前正在开发一个 Java 项目,只是想知道 JAVA 中是否有类似自动对象关系映射 (ORM) 的东西。

在 C++ 中,我使用了 QSqlTableModel:

 QSqlTableModel *model = new QSqlTableModel(parentObject, database);
model->setTable("Table_I_wanna_access");
model->select();

在这三行之后,我可以通过模型对象访问 Table_I_wanna_access 。(这意味着我可以访问数据、更改数据、插入......)

所以我的问题是:JAVA中有类似的东西吗?或者我是否必须为数据库中的每个表编写自己的 ORM 类?

最佳答案

我不熟悉 QSqlTableModel,但 Java 的常见 ORM 是 Hibernate

现在的 ORM 映射是使用注释来执行的,例如:

@Entity
@Table (name="emp")
class Employee
{
@Id
@GeneratedValue
@Column(name="EMP_ID")
public long getId() {
return id;
}

@Column(name="SURNAME", nullable=false)
public String getName() {
return name;
}

@OneToMany(fetch = FetchType.LAZY)
@JoinColumn(name="EMP_ID") // Column name on the Role table
public List<Role> getRoles() {
return tasks;
}

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="DEPT_ID")
public Department getDepartment() {
return department;
}

}

在上面的示例中,类 Role 和 Department 也会用它们的信息进行注释。这些注释涵盖了类如何映射到数据库表的所有方面(包括继承结构、级联行为等)。

其中一些注释现已成为名为 JPA 的 Java 标准,因此您应该能够编写代码并使用任何兼容的 ORM 运行。我想到的另一个是 iBatis(但我只使用过 Hibernate)。

关于java - 是否有与 QSqlTableModel 等效的 Java ORM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19606669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com