0

嗨,我是 Hibernate 的新手。我有个疑问。我有一个表用户。列是名称、年龄和位置。所以我的 pojo 课是这样的:

@Entity
@Table(name = "User")
public class User {

    @Id
    private int Age;
    private String Location;
    private String Name;
//Getters and setters methods

现在我可以有另一个静态声明(工资不是表中的字段)

private int salary;

hibernate会假设即使薪水作为User表中的一列?hibernate中POJO类的功能到底是什么?

4

1 回答 1

2

是的,默认情况下所有字段都是持久的。如果您想要一个不是持久化的字段,则需要使用以下命令对其进行注释@Transient

@Transient
private int salary;

当然,Hibernate 每次从数据库中加载一个 User 时,salary 都会有一个默认值(0,或者在 User 的无参数构造函数中设置的那个)。

请遵守 Java 命名约定:字段以小写字母开头。此外,使用用户的年龄作为其 ID 没有多大意义:多个用户可能具有相同的年龄,而年龄是一个可变值。

hibernate中POJO类的功能到底是什么?

嗯,这就是 Hibernate 的定义:它是一个 ORM,它将数据库表映射到 Java 对象。Hibernate 有一个很好的文档。阅读。

于 2013-08-19T11:17:01.270 回答