2013-08-19 91 views
0

您好我是Hibernate的新手。我有个疑问。 我有一个表用户。列是名称,年龄和位置。 所以我的POJO类会是这样的:休眠类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; 

会冬眠假设,即使工资为列在表格中用户? POJO类在休眠中的功能究竟是什么?

回答

2

是的,所有的文件默认都是持久的。如果你想有一个字段是不是persistet,你需要@Transient进行注解:

@Transient 
private int salary; 

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

请尊重Java命名约定:字段以小写字母开头。另外,使用用户的年龄作为它的ID并没有多大意义:几个用户可能会有相同的年龄,并且年龄是可变的值。

究竟是什么POJO类在休眠的功能?

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