的java pojo,我們是否需要將java pojo的所有字段映射到數據庫表列或我們只能映射少數幾個具有幾列表的列?我們是否可以使用hibernate使用hibernate來映射只有幾個表列與使用hibernate
回答
我假設你只想在數據庫中只保留一個類的字段子集。 您可以使用@Transient
註釋來標記您不希望保留的字段。
警告:一定要尊重這些領域可能未初始化(因爲當他們加載它們在DB沒有價值)
我沒有檢查,但我不明白爲什麼你能否留下一些未映射的字段,特別是如果它們不作爲表格中的列存在。 當然,在某些情況下,您需要將列映射到該字段,例如,當列不能爲空時,在保存期間你會得到一個異常。
在休眠中,如果沒有以任何其他方式描述,所有字段將被映射。因此,人們可以指向ORM映射器不使用你的POJO類的
[@Transient][1] annotation in case JPA is used
or even the **transient** keyword from java - careful when using this one, it will prevent the given field to be serialized
是的,你可以映射幾個字段到您的表列不是Problem.It將在DB成功給存儲領域的數據庫映射。
實施例:
下面是StudentData POJO的
public class StudentData1 {
private String name;
private int id;
private String name1;
setters & Getters
}
和HBM文件:
<class name="example.StudentData" table="StudentData">
<id name="id" column="pid" >
<generator class="assigned" /></id>
<property name="name" column="pname" />
</class>
和CFG文件是
<mapping resource="StudentData.hbm.xml"/>
和主類是
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();
}
您可以運行此代碼,它將執行並只存儲兩個字段。
所以它的意思是,whateva映射我們已經在hbm文件中完成,只有那些字段和列會在事務中發生.......好..有道理..謝謝你:) –
@KP_JavaDev歡迎。如果這個答案對你的答案有用,那麼這個答案會對其他人有幫助。 – Prabha
是的,謝謝。這個答案很有用:) :) –
- 1. 我可以在不使用Hibernate映射的情況下使用Hibernate Criteria嗎?
- 2. 使用Hibernate映射布爾型[] PostgreSql列
- 3. Hibernate使用xml映射而不從hibernate框架創建表
- 4. 是否可以使用JPa和Hibernate?
- 5. Hibernate 5.1與Postgis 2.2幾何列映射
- 6. 我可以使用jaxb與hibernate hbm2ddl嗎?
- 7. 我們可以使用hibernate按星期幾分組嗎?
- 8. Hibernate表映射
- 9. 使用Hibernate Criteria.uniqueResult()時,有幾個結果
- 10. 如何使用Hibernate爲有序列表創建映射文件?
- 11. 如何使用Hibernate映射byte []屬性?
- 12. 使用Hibernate註釋映射自然鍵
- 13. 使用hibernate註釋映射ManyToMany關係?
- 14. 無法使用Hibernate Mapping映射字段
- 15. 如何使用JPA/Hibernate映射XMLType
- 16. Hibernate枚舉映射使用註釋
- 17. 使用Hibernate映射枚舉值
- 18. Hibernate映射 - 使用性質爲重點
- 19. 如何使用hibernate映射類屬性?
- 20. Hibernate映射 - 映射到表
- 21. 的Hibernate映射列表
- 22. Hibernate:是否可以將多級繼承映射到單個表?
- 23. 閱讀斑點使用Hibernate映射Postgres的不使用Hibernate註解
- 24. 使用Hibernate的envers 4.2與Hibernate 3.5.5
- 25. 爲什麼使用枚舉來映射hibernate中的類型表?
- 26. 我怎麼可以這樣使用Hibernate
- 27. 是否可以使用@OneToMany關係在Hibernate中映射Map <String,String>?
- 28. 在Spring Boot中使用Hibernate映射PostGIS幾何點字段
- 29. 我應該在Hibernate中使用BigInteger映射的列類型?
- 30. 如何用Hibernate映射LinkedHashMap?
感謝編輯kostja,你打我吧;) – SirRichie