我们可以使用hibernate只使用java pojo映射几个表列

KP_*_*Dev 5 java hibernate pojo

使用hibernate和java,我们需要将所有java pojo字段映射到Database表列吗?或者我们只能映射少数列的几个字段?

Pra*_*bha 10

是的,您可以将Pojo类的几个字段映射到表格列.不是问题.它将成功将数据存储在DB中.

例:

下面是StudentData Pojo

public class StudentData1 {
    private String name;
    private int id;
    private String name1;
    //setters & getters
}
Run Code Online (Sandbox Code Playgroud)

和HBM文件:

<class name="example.StudentData" table="StudentData"> 
    <id name="id" column="pid"  >
        <generator class="assigned" />
    </id> 
    <property name="name" column="pname" /> 
</class>
Run Code Online (Sandbox Code Playgroud)

CFG文件是

<mapping resource="StudentData.hbm.xml"/>
Run Code Online (Sandbox Code Playgroud)

而主要类是

 public static void main(String[] args) {
    SessionFactory factory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
    Session session = factory.openSession();
    StudentData1 s = new StudentData1();
    s.setId(1);
    s.setName("iPhone");
    Transaction tx = session.beginTransaction();
    session.save(s);
    System.out.println("Object saved successfully.....!!");
    tx.commit();
    session.close();
    factory.close();
}
Run Code Online (Sandbox Code Playgroud)

您可以运行此代码,只执行并存储两个字段.


Sir*_*hie 4

我假设您只想在数据库中保留类字段的子集。您可以使用@Transient 注释来标记您不希望保留的字段。

警告:请确保注意这些字段可能不会被初始化(因为加载它们时数据库中没有它们的值)