คำถามติดแท็ก jpa

Java Persistence API (JPA) เป็นข้อกำหนดคุณสมบัติ Java สำหรับการเข้าถึงการคงอยู่และการจัดการข้อมูลระหว่างวัตถุ / คลาส Java และฐานข้อมูลเชิงสัมพันธ์ เป็นส่วนหนึ่งของข้อกำหนด EJB 3.0 และเป็นแนวทางมาตรฐานอุตสาหกรรมสำหรับ Object to Relational Mapping (ORM)


5
ความแตกต่างระหว่างอินเตอร์เฟส CrudRepository และ JpaRepository ใน Spring Data JPA คืออะไร
ความแตกต่างระหว่างคืออะไรCrudRepositoryและJpaRepositoryอินเตอร์เฟซในฤดูใบไม้ผลิข้อมูล JPA ? เมื่อฉันเห็นตัวอย่างบนเว็บฉันเห็นพวกมันอยู่ที่นั่นใช้แทนกันได้ ความแตกต่างระหว่างพวกเขาคืออะไร? ทำไมคุณต้องการใช้อีกอันหนึ่ง?

22
JPA และ Hibernate ต่างกันอย่างไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน2 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันเข้าใจว่า JPA 2 เป็นข้อมูลจำเพาะและไฮเบอร์เนตเป็นเครื่องมือสำหรับ ORM นอกจากนี้ฉันเข้าใจว่าไฮเบอร์เนตมีคุณสมบัติมากกว่า JPA 2 แต่จากมุมมองที่ใช้งานจริงแล้วความแตกต่างคืออะไร ฉันมีประสบการณ์ในการใช้ iBatis และตอนนี้ฉันกำลังพยายามเรียนรู้ Hibernate หรือ JPA2 ฉันเลือกหนังสือ Pro JPA2 และมันอ้างอิงถึง "ผู้ให้บริการ JPA" ต่อไป ตัวอย่างเช่น: หากคุณคิดว่าคุณสมบัติควรเป็นมาตรฐานคุณควรพูดและขอจากผู้ให้บริการ JPA ของคุณ สิ่งนี้ทำให้ฉันสับสนดังนั้นฉันมีคำถามสองสามข้อ: การใช้ JPA2 เพียงอย่างเดียวฉันสามารถดึงข้อมูลจากฐานข้อมูลได้โดยเพียงแค่ใส่คำอธิบายประกอบ POJO ของฉัน ควรใช้ JPA2 กับ "ผู้ให้บริการ JPA" เช่น TopLink หรือ Hibernate …
680 java  hibernate  jpa  jakarta-ee  orm 

27
วิธีการแก้ไข "วัตถุของไฮเบอร์เนตอ้างอิงอินสแตนซ์ชั่วคราวที่ไม่ได้บันทึก - บันทึกอินสแตนซ์ชั่วคราวก่อนที่จะล้าง" ข้อผิดพลาด
ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันบันทึกวัตถุโดยใช้ Hibernate object references an unsaved transient instance - save the transient instance before flushing
610 java  hibernate  jpa  orm  entity 


8
อะไรคือความแตกต่างระหว่าง @JoinColumn และ mappedBy เมื่อใช้การเชื่อมโยง JPA @OneToMany
อะไรคือความแตกต่างระหว่าง: @Entity public class Company { @OneToMany(cascade = CascadeType.ALL , fetch = FetchType.LAZY) @JoinColumn(name = "companyIdRef", referencedColumnName = "companyId") private List<Branch> branches; ... } และ @Entity public class Company { @OneToMany(cascade = CascadeType.ALL , fetch = FetchType.LAZY, mappedBy = "companyIdRef") private List<Branch> branches; ... }
516 java  hibernate  jpa  orm  one-to-many 

15
Hibernate พ่น MultipleBagFetchException - ไม่สามารถดึงหลายถุงพร้อมกันได้
Hibernate แสดงข้อยกเว้นนี้ระหว่างการสร้าง SessionFactory org.hibernate.loader.MultipleBagFetchException: ไม่สามารถดึงหลายถุงพร้อมกันได้ นี่คือกรณีทดสอบของฉัน: Parent.java @Entity public Parent { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id; @OneToMany(mappedBy="parent", fetch=FetchType.EAGER) // @IndexColumn(name="INDEX_COL") if I had this the problem solve but I retrieve more children than I have, one child is null. private List<Child> children; } Child.java @Entity public Child { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) …
471 java  hibernate  jpa  one-to-many  bag 

4
สร้างเอนทิตี JPA ที่สมบูรณ์แบบ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันได้ทำงานกับ JPA (Implementation Hibernate) มาระยะหนึ่งและทุกครั้งที่ฉันต้องสร้างเอนทิตีฉันพบว่าตัวเองกำลังดิ้นรนกับปัญหาเช่น AccessType, คุณสมบัติที่ไม่เปลี่ยนรูปแบบ, เท่ากับ / hashCode, ... ดังนั้นฉันจึงตัดสินใจลองและหาแนวทางปฏิบัติที่ดีที่สุดโดยทั่วไปสำหรับแต่ละประเด็นแล้วจดบันทึกนี้ไว้ใช้ส่วนตัว ฉันจะไม่รังเกียจอย่างไรก็ตามสำหรับทุกคนที่จะแสดงความคิดเห็นหรือบอกฉันว่าฉันผิด คลาสเอนทิตี ใช้ Serializable เหตุผล: ข้อกำหนดระบุว่าคุณต้องทำ แต่ผู้ให้บริการ JPA บางรายไม่บังคับใช้ Hibernate ในฐานะผู้ให้บริการ JPA ไม่ได้บังคับใช้สิ่งนี้ แต่สามารถล้มเหลวได้บางส่วนในท้องของมันด้วย ClassCastException หาก Serializable ไม่ได้ถูกนำมาใช้ ก่อสร้าง สร้างตัวสร้างที่มีฟิลด์ที่จำเป็นทั้งหมดของเอนทิตี เหตุผล: คอนสตรัคควรปล่อยให้อินสแตนซ์ที่สร้างในสถานะที่มีเหตุผล นอกเหนือจากตัวสร้างนี้: มีตัวสร้างค่าเริ่มต้นส่วนตัวของแพคเกจ เหตุผล: ตัวสร้างเริ่มต้นจะต้องมีการไฮเบอร์เนตเริ่มต้นเอนทิตี; ส่วนตัวได้รับอนุญาต แต่จำเป็นต้องมีการเปิดเผยแพคเกจส่วนตัว (หรือสาธารณะ) สำหรับการสร้างรันไทม์พร็อกซีและการดึงข้อมูลที่มีประสิทธิภาพโดยไม่ต้องใช้เครื่องมือ bytecode …
422 java  hibernate  jpa  equals 

20
JPA hashCode () / เท่ากับ () ขึ้นเขียง
มีการบาง อภิปรายนี่เกี่ยวกับหน่วยงานและที่ JPA hashCode()/ equals()การดำเนินงานควรจะใช้สำหรับการเรียน JPA นิติบุคคล ส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) ขึ้นอยู่กับ Hibernate แต่ฉันต้องการจะพูดคุยเกี่ยวกับ JPA-Implement-neutrally (ฉันใช้ EclipseLink) การนำไปใช้งานที่เป็นไปได้ทั้งหมดนั้นมีข้อดีและข้อเสียของตัวเองเกี่ยวกับ: hashCode()/ ความequals()สอดคล้องตามสัญญา(ไม่เปลี่ยนแปลง) สำหรับList/ Setการดำเนินงาน ไม่ว่าจะเป็นวัตถุที่เหมือนกัน (เช่นจากเซสชันที่แตกต่างกันพร็อกซีไดนามิกจากโครงสร้างข้อมูลที่โหลดแบบ lazily) สามารถตรวจพบได้ ไม่ว่าเอนทิตีจะทำงานอย่างถูกต้องในสถานะแยกออก (หรือไม่คงอยู่) เท่าที่ฉันเห็นมีสามตัวเลือก : อย่าแทนที่พวกเขา; พึ่งพาObject.equals()และObject.hashCode() hashCode()/ equals()งาน ไม่สามารถระบุวัตถุที่เหมือนกันปัญหาเกี่ยวกับพร็อกซีแบบไดนามิก ไม่มีปัญหากับเอนทิตี้เดี่ยว แทนที่พวกเขาขึ้นอยู่กับคีย์หลัก hashCode()/ equals()ถูกทำลาย ตัวตนที่ถูกต้อง (สำหรับองค์กรที่มีการจัดการทั้งหมด) ปัญหาเกี่ยวกับหน่วยงานเดี่ยว แทนที่พวกเขาตามBusiness-Id (เขตข้อมูลคีย์ที่ไม่ใช่หลัก; สิ่งที่เกี่ยวกับกุญแจต่างประเทศ?) hashCode()/ equals()ถูกทำลาย ตัวตนที่ถูกต้อง (สำหรับองค์กรที่มีการจัดการทั้งหมด) ไม่มีปัญหากับเอนทิตี้เดี่ยว คำถามของฉันคือ: ฉันพลาดตัวเลือกและ …


8
วิธีที่ง่ายที่สุดในการละเว้นฟิลด์ JPA คืออะไรในระหว่างการคงอยู่
ฉันกำลังมองหาคำอธิบายประกอบแบบ "@Ignore" เป็นหลักซึ่งฉันสามารถหยุดฟิลด์ใดฟิลด์หนึ่งจากการถูกยืนยันได้ จะประสบความสำเร็จได้อย่างไร?
281 java  database  hibernate  jpa 

8
Hibernate SessionFactory กับ JPA EntityManagerFactory
ฉันใหม่เพื่อ Hibernate และผมไม่แน่ใจว่าจะใช้ Hibernate SessionFactoryหรือ JPA เพื่อสร้างไฮเบอร์เนต EntityManagerFactorySession ความแตกต่างระหว่างสองสิ่งนี้คืออะไร? ข้อดีและข้อเสียของการใช้แต่ละข้อคืออะไร


4
ความสับสน: @NotNull เทียบกับ @ คอลัมน์ (nullable = false) ด้วย JPA และไฮเบอร์เนต
เมื่อพวกเขาปรากฏบนสนาม / ทะเยอทะยานของความ@Entityแตกต่างระหว่างพวกเขาคืออะไร? (ฉันยืนยันเอนทิตีผ่านไฮเบอร์เนต ) กรอบและ / หรือข้อกำหนดใดที่แต่ละข้อเป็นของ @NotNulljavax.validation.constraintsตั้งอยู่ภายใน ในjavax.validation.constraints.NotNulljavadoc มันบอกว่า องค์ประกอบที่ใส่หมายเหตุประกอบจะต้องไม่เป็นโมฆะ แต่มันไม่ได้พูดถึงการเป็นตัวแทนขององค์ประกอบในฐานข้อมูลดังนั้นทำไมฉันจะเพิ่มข้อ จำกัดnullable=falseในคอลัมน์?

18
PersistentObjectException: เอนทิตีที่แยกออกมาถูกส่งผ่านเพื่อคงอยู่โดย JPA และ Hibernate
ฉันมีรูปแบบวัตถุ JPA-ยืนกรานที่มีหลายต่อหนึ่งความสัมพันธ์: การมีจำนวนมากAccount มีหนึ่งTransactionsTransactionAccount นี่คือตัวอย่างของรหัส: @Entity public class Transaction { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @ManyToOne(cascade = {CascadeType.ALL},fetch= FetchType.EAGER) private Account fromAccount; .... @Entity public class Account { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(cascade = {CascadeType.ALL},fetch= FetchType.EAGER, mappedBy = "fromAccount") private Set<Transaction> transactions; ฉันสามารถสร้างAccountวัตถุเพิ่มธุรกรรมไปยังAccountวัตถุนั้นและคงวัตถุไว้อย่างถูกต้อง แต่เมื่อฉันสร้างธุรกรรมโดยใช้บัญชีที่มีอยู่แล้วและยืนยันการทำธุรกรรมฉันจะได้รับข้อยกเว้น: เกิดจาก: …
237 java  hibernate  jpa  entity  persist 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.