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

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

9
ฉันจะทำให้ความสัมพันธ์ JPA OneToOne ขี้เกียจได้อย่างไร
ในแอปพลิเคชันนี้เรากำลังพัฒนาเราสังเกตว่ามุมมองนั้นช้าเป็นพิเศษ ฉันทำมุมมองและสังเกตว่ามีหนึ่งแบบสอบถามดำเนินการโดยจำศีลซึ่งใช้เวลา 10 วินาทีแม้ว่าจะมีเพียงสองวัตถุในฐานข้อมูลเพื่อดึงข้อมูล ทั้งหมดOneToManyและManyToManyความสัมพันธ์ที่มีความขี้เกียจเพื่อให้เป็นไม่ได้เป็นปัญหา เมื่อตรวจสอบ SQL ที่เกิดขึ้นจริงฉันสังเกตว่ามีการรวมมากกว่า 80 รายการในแบบสอบถาม การตรวจสอบเพิ่มเติมปัญหาฉันสังเกตเห็นว่าปัญหาเกิดจากลำดับชั้นลึกOneToOneและManyToOneความสัมพันธ์ระหว่างคลาสเอนทิตี้ ดังนั้นฉันคิดว่าฉันจะทำให้พวกเขาขี้เกียจที่จะแก้ปัญหา แต่คำอธิบายประกอบอย่างใดอย่างหนึ่ง@OneToOne(fetch=FetchType.LAZY)หรือ@ManyToOne(fetch=FetchType.LAZY)ดูเหมือนจะไม่ทำงาน ทั้งฉันได้รับข้อยกเว้นหรือไม่พวกเขาจะไม่ถูกแทนที่ด้วยวัตถุพร็อกซีและทำให้ขี้เกียจ ความคิดใดที่ฉันจะทำให้มันทำงานได้? โปรดทราบว่าฉันไม่ได้ใช้persistence.xmlเพื่อกำหนดความสัมพันธ์หรือรายละเอียดการกำหนดค่าทุกอย่างจะทำในรหัสจาวา

30
Spring Boot - ไม่สามารถกำหนดคลาสไดร์เวอร์ฐานข้อมูลแบบฝังสำหรับประเภทฐานข้อมูล NONE
นี่เป็นข้อผิดพลาดที่เกิดขึ้นเมื่อพยายามเรียกใช้แอปพลิเคชันเว็บของฉัน: [INFO] WARNING: Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private javax.sql.DataSource org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.dataSource; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration$NonEmbeddedConfiguration.class]: Instantiation of bean failed; nested exception …

6
CascadeType.ALL มีความหมายอย่างไรสำหรับสมาคม @ManyToOne JPA
ฉันคิดว่าฉันเข้าใจความหมายของการเรียงซ้อนในบริบทของ@ManyToOneความสัมพันธ์ กรณี: public class User { @OneToMany(fetch = FetchType.EAGER) protected Set<Address> userAddresses; } public class Address { @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) protected User addressOwner; } ความหมายของcascade = CascadeType.ALLคืออะไร? ตัวอย่างเช่นหากฉันลบที่อยู่บางอย่างจากฐานข้อมูลความจริงที่ว่าฉันเพิ่มที่cascade = CascadeType.ALLมีผลต่อข้อมูลของฉัน (ที่Userฉันเดา)?

9
ไฮเบอร์เนตพ่น org.hibernate.AnnotationException: ไม่ได้ระบุตัวระบุสำหรับเอนทิตี: com..domain.idea.MAE_MFEView
เหตุใดฉันจึงได้รับข้อยกเว้นนี้ package com.domain.idea; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; import org.hibernate.annotations.AccessType; /** * object model for the view [InvestmentReturn].[vMAE_MFE] */ @Entity @Table(name="vMAE_MFE", schema="InvestmentReturn") @AccessType("field") public class MAE_MFEView { /** * trade property is a SuggestdTradeRecommendation object */ @OneToOne(fetch = FetchType.LAZY , cascade = { …

6
อะไรคือความแตกต่างระหว่าง Hibernate และ Spring Data JPA
อะไรคือความแตกต่างที่สำคัญระหว่าง Hibernate และ Spring Data JPA เมื่อใดที่เราไม่ควรใช้ Hibernate หรือ Spring Data JPA นอกจากนี้เมื่อใดที่เท็มเพลต Spring JDBC อาจทำงานได้ดีกว่า Hibernate / Spring Data JPA

30
org.hibernate.HibernateException: การเข้าถึง DialectResolutionInfo ไม่สามารถเป็นค่าว่างเมื่อไม่ได้ตั้งค่า 'hibernate.dialect'
ฉันพยายามเรียกใช้แอปพลิเคชัน spring-boot ซึ่งใช้ Hibernate ผ่าน spring-jpa แต่ฉันได้รับข้อผิดพลาดนี้: Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104) at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:205) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843) at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:398) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842) at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:152) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:336) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) …

8
วิธีแมปคีย์ผสมกับ JPA และไฮเบอร์เนต
ในรหัสนี้วิธีสร้างคลาส Java สำหรับคอมโพสิตคีย์ (วิธีผสมคีย์ในไฮเบอร์เนต): create table Time ( levelStation int(15) not null, src varchar(100) not null, dst varchar(100) not null, distance int(15) not null, price int(15) not null, confPathID int(15) not null, constraint ConfPath_fk foreign key(confPathID) references ConfPath(confPathID), primary key (levelStation, confPathID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

9
ฉันจะอัพเดตเอนทิตีโดยใช้ spring-data-jpa ได้อย่างไร
คำถามก็บอกทุกอย่าง การใช้ JPAR ที่เก็บฉันจะอัพเดตเอนทิตีได้อย่างไร JPARepository มีเพียงวิธีการบันทึกซึ่งไม่ได้บอกฉันว่ามันสร้างหรืออัพเดทจริงหรือไม่ ตัวอย่างเช่นผมใส่วัตถุที่ง่ายต่อการใช้ฐานข้อมูลซึ่งมีสามช่อง: firstname, lastnameและage: @Entity public class User { private String firstname; private String lastname; //Setters and getters for age omitted, but they are the same as with firstname and lastname. private int age; @Column public String getFirstname() { return firstname; } public void setFirstname(String …

9
แม็พ enum ใน JPA ด้วยค่าคงที่หรือไม่
ฉันกำลังมองหาวิธีต่างๆในการแมป enum โดยใช้ JPA ฉันต้องการตั้งค่าจำนวนเต็มของแต่ละรายการ enum และบันทึกเฉพาะค่าจำนวนเต็ม @Entity @Table(name = "AUTHORITY_") public class Authority implements Serializable { public enum Right { READ(100), WRITE(200), EDITOR (300); private int value; Right(int value) { this.value = value; } public int getValue() { return value; } }; @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "AUTHORITY_ID") …
192 java  spring  orm  jpa  enums 

8
JPA orphanRemoval = true แตกต่างจากส่วนคำสั่ง ON DELETE CASCADE DML อย่างไร
ฉันสับสนเล็กน้อยเกี่ยวกับorphanRemovalแอตทริบิวต์JPA 2.0 ฉันคิดว่าฉันสามารถเห็นมันเป็นสิ่งจำเป็นเมื่อฉันใช้เครื่องมือการสร้างฐานข้อมูล JPA ของผู้ให้บริการเพื่อสร้าง DDL ฐานข้อมูลพื้นฐานเพื่อให้มีON DELETE CASCADEความสัมพันธ์เฉพาะ อย่างไรก็ตามถ้าฐานข้อมูลมีอยู่และมีON DELETE CASCADEความสัมพันธ์กันอยู่แล้วสิ่งนี้ไม่เพียงพอที่จะลดการลบอย่างเหมาะสมหรือไม่? สิ่งที่orphanRemovalนอกเหนือไปจากนี้? ไชโย

6
บางคนสามารถอธิบายแมปโดย JPA และไฮเบอร์เนต?
ฉันยังใหม่ต่อการจำศีลและจำเป็นต้องใช้ความสัมพันธ์แบบหนึ่งต่อหลายและแบบหนึ่งต่อหนึ่ง มันเป็นความสัมพันธ์แบบสองทิศทางในวัตถุของฉันเพื่อให้ฉันสามารถข้ามจากทิศทางใดก็ได้ mappedByเป็นวิธีที่แนะนำให้ไปเกี่ยวกับมันอย่างไรก็ตามฉันไม่เข้าใจ บางคนสามารถอธิบายได้: วิธีที่แนะนำให้ใช้คืออะไร? มันแก้จุดประสงค์อะไร? เพื่อเป็นตัวอย่างของฉันนี่คือชั้นเรียนของฉันพร้อมคำอธิบายประกอบ: Airline เป็นเจ้าของหลายคน AirlineFlights หลายคน AirlineFlightsเป็นของONE Airline สายการบิน : @Entity @Table(name="Airline") public class Airline { private Integer idAirline; private String name; private String code; private String aliasName; private Set<AirlineFlight> airlineFlights = new HashSet<AirlineFlight>(0); public Airline(){} public Airline(String name, String code, String aliasName, Set<AirlineFlight> flights) …

11
ไฮเบอร์เนตกับ JPA เทียบกับ JDO ข้อดีและข้อเสียของแต่ละ? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันคุ้นเคยกับ ORM เป็นแนวคิดและฉันใช้ nHibernate หลายปีที่ผ่านมาสำหรับโครงการ. NET อย่างไรก็ตามฉันไม่ได้ติดตามหัวข้อ ORM ใน Java และไม่ได้มีโอกาสใช้เครื่องมือเหล่านี้ แต่ตอนนี้ฉันอาจมีโอกาสเริ่มใช้เครื่องมือ ORM บางอย่างสำหรับหนึ่งในแอปพลิเคชันของเราในความพยายามที่จะย้ายออกจากชุดบริการเว็บดั้งเดิม ฉันมีเวลายากที่จะบอกความแตกต่างระหว่างข้อกำหนด JPA สิ่งที่คุณจะได้รับจากห้องสมุด Hibernate และสิ่งที่ JDO มีให้ ดังนั้นฉันเข้าใจว่าคำถามนี้เป็นบิตปลายเปิด แต่ฉันหวังว่าจะได้รับความคิดเห็นบางอย่างเกี่ยวกับ: ข้อดีและข้อเสียของแต่ละข้อคืออะไร? คุณต้องการแนะนำโครงการใหม่แบบใด มีเงื่อนไขบางประการหรือไม่ที่จะใช้กรอบหนึ่งกับอีกกรอบหนึ่ง
174 java  hibernate  orm  jpa  jdo 

20
JPA: วิธีแปลงชุดผลลัพธ์คิวรีแบบเนทีฟเป็นคอลเลกชันคลาส POJO
ฉันกำลังใช้ JPA ในโครงการของฉัน ฉันมาถึงคิวรีที่ฉันต้องทำการเข้าร่วมในตารางที่ห้า ดังนั้นฉันจึงสร้างเคียวรีเนทีฟซึ่งส่งคืนห้าฟิลด์ ตอนนี้ฉันต้องการแปลงวัตถุผลลัพธ์เป็นคลาส Java POJO ซึ่งมีห้า Strings เหมือนกัน มีวิธีใดใน JPA ที่จะส่งผลลัพธ์นั้นโดยตรงไปยังรายการวัตถุ POJO หรือไม่? ฉันมาถึงวิธีแก้ปัญหาต่อไปนี้ .. @NamedNativeQueries({ @NamedNativeQuery( name = "nativeSQL", query = "SELECT * FROM Actors", resultClass = db.Actor.class), @NamedNativeQuery( name = "nativeSQL2", query = "SELECT COUNT(*) FROM Actors", resultClass = XXXXX) // <--------------- problem }) ตอนนี้ที่นี่ใน …
174 java  jpa 

3
Spring CrudRepository findByInventoryIds (รายการ <Long> inventoryIdList) - เทียบเท่ากับ IN clause
ใน Spring CrudRepository เรามีการสนับสนุน "ในอนุประโยค" สำหรับฟิลด์หรือไม่? สิ่งที่คล้ายกับต่อไปนี้คืออะไร? findByInventoryIds(List&lt;Long&gt; inventoryIdList) หากการสนับสนุนดังกล่าวไม่สามารถใช้งานได้จะมีการพิจารณาตัวเลือกอะไรบ้าง คิวรีการยิงสำหรับแต่ละ id อาจไม่เหมาะสม

8
@UniqueConstraint คำอธิบายประกอบใน Java
ฉันมี Java bean ตอนนี้ฉันต้องการแน่ใจว่าฟิลด์ควรไม่ซ้ำกัน ฉันกำลังใช้รหัสต่อไปนี้: @UniqueConstraint(columnNames={"username"}) public String username; แต่ฉันได้รับข้อผิดพลาด: @UniqueConstraint is dissallowed for this location วิธีที่เหมาะสมในการใช้ข้อ จำกัด ที่ไม่ซ้ำกันคืออะไร หมายเหตุ:ฉันใช้กรอบการเล่น

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