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

Spring Data - JPA เป็นส่วนหนึ่งของโครงการ Spring Data umbrella ซึ่งทำให้ง่ายต่อการใช้งานที่เก็บข้อมูลที่ใช้ JPA

9
ปิดใช้งานการกำหนดค่าอัตโนมัติที่เกี่ยวข้องกับฐานข้อมูลทั้งหมดใน Spring Boot
ฉันใช้ Spring Boot เพื่อพัฒนาแอปพลิเคชั่นสองตัวตัวหนึ่งทำหน้าที่เป็นเซิร์ฟเวอร์และอีกแอปหนึ่งเป็นแอปไคลเอนต์ อย่างไรก็ตามทั้งสองเป็นแอปเดียวกันที่ทำงานแตกต่างกันไปตามโปรไฟล์ที่ใช้งานอยู่ ฉันใช้คุณสมบัติการกำหนดค่าอัตโนมัติของ Spring Boot เพื่อกำหนดค่าแอปพลิเคชันของฉัน ฉันต้องการปิดการใช้งานฐานข้อมูลทั้งหมดที่เกี่ยวข้องกับการกำหนดค่าอัตโนมัติในแอปไคลเอนต์เนื่องจากไม่จำเป็นต้องเชื่อมต่อฐานข้อมูล แอปพลิเคชันไม่ควรพยายามสร้างการเชื่อมต่อกับฐานข้อมูลหรือพยายามใช้คุณสมบัติ Spring Data หรือ Hibernate การเปิดหรือปิดการกำหนดค่าฐานข้อมูลอัตโนมัติควรเป็นไปตามเงื่อนไขและขึ้นอยู่กับโปรไฟล์ที่ใช้งานอยู่ของแอป ฉันสามารถทำได้โดยการสร้างไฟล์ application.properties ที่แตกต่างกันสองไฟล์สำหรับโปรไฟล์ที่เกี่ยวข้องหรือไม่ ฉันพยายามเพิ่มสิ่งนี้ลงในไฟล์คุณสมบัติของฉัน spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration\ org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration แต่แอปพลิเคชันยังคงพยายามเชื่อมต่อกับฐานข้อมูลเมื่อเริ่มต้น การยกเว้นเหล่านั้นเพียงพอสำหรับการบรรลุข้อกำหนดของฉันหรือไม่


9
% Like% Query ในฤดูใบไม้ผลิ JpaRepository
ฉันต้องการเขียนข้อความค้นหาที่คล้ายกันJpaRepositoryแต่ไม่ได้ส่งคืนอะไรเลย: LIKE '%place%'- ไม่ทำงาน LIKE 'place' ทำงานได้อย่างสมบูรณ์ นี่คือรหัสของฉัน: @Repository("registerUserRepository") public interface RegisterUserRepository extendsJpaRepository<Registration,Long> { @Query("Select c from Registration c where c.place like :place") List<Registration> findByPlaceContaining(@Param("place")String place); }

9
Spring Data: รองรับ“ delete by” ไหม
ฉันใช้ Spring JPA สำหรับการเข้าถึงฐานข้อมูล ฉันสามารถค้นหาตัวอย่างเช่น findByName และ countByName ซึ่งฉันไม่ต้องเขียนวิธีการใช้งานใด ๆ ฉันหวังว่าจะพบตัวอย่างสำหรับการลบกลุ่มของระเบียนตามเงื่อนไขบางประการ Spring JPA รองรับการลบเหมือน deleteByName หรือไม่ ตัวชี้ใด ๆ ได้รับการชื่นชม ขอแสดงความนับถือและขอบคุณ

5
การโพสต์การเชื่อมโยงทรัพยากรย่อย @OneToMany ใน Spring Data REST
ขณะนี้ฉันมีแอปพลิเคชัน Spring Boot โดยใช้ Spring Data REST ฉันมีนิติบุคคลโดเมนPostซึ่งมีความสัมพันธ์กับนิติบุคคลโดเมนอื่น@OneToMany Commentคลาสเหล่านี้มีโครงสร้างดังนี้: Post.java: @Entity public class Post { @Id @GeneratedValue private long id; private String author; private String content; private String title; @OneToMany private List<Comment> comments; // Standard getters and setters... } Comment.java: @Entity public class Comment { @Id @GeneratedValue private long id; …

4
แบบสอบถามแบบไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ด้วย Spring CrudRepository
ด้วย Spring CrudRepository Query; ฉันต้องการเลือกเอนทิตี "DeviceType" ที่มีคุณสมบัติเป็น "ชื่อ" แต่การสืบค้นต่อไปนี้ให้เลือกสิทธิ์ในลักษณะที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ ฉันจะทำให้ตัวพิมพ์เล็กหรือใหญ่ได้อย่างไร ขอบคุณ. public interface DeviceTypeRepository extends CrudRepository<DeviceType, Integer>, JpaSpecificationExecutor<DeviceType> { public Iterable<DeviceType> findByNameContaining(String name); }

4
Spring Data JPA ค้นหาโดยคุณสมบัติวัตถุฝังตัว
ฉันต้องการเขียนลายเซ็นเมธอดอินเทอร์เฟซ Spring Data JPA ที่จะช่วยให้ฉันค้นหาเอนทิตีที่มีคุณสมบัติของอ็อบเจ็กต์ฝังตัวในเอนทิตีนั้น ไม่มีใครรู้ว่าเป็นไปได้หรือไม่และถ้าเป็นเช่นนั้นได้อย่างไร นี่คือรหัสของฉัน: @Entity @Table(name = "BOOK_UPDATE_QUEUE", indexes = { uniqueConstraints = @UniqueConstraint(columnNames = { "bookId", "region" }, name = "UK01_BOOK_UPDATE_QUEUE")) public class QueuedBook implements Serializable { @Embedded @NotNull private BookId bookId; ... } @Embeddable public class BookId implements Serializable { @NotNull @Size(min=1, max=40) private String …

4
ไม่มีเมธอด CrudRepository # findOne
ฉันใช้ Spring 5 ในโครงการของฉัน CrudRepository#findOneจนถึงวันนี้มีวิธีการที่มีอยู่ แต่หลังจากดาวน์โหลด snapshot ล่าสุดมันก็หายไปทันที! มีการอ้างอิงว่าวิธีนี้ไม่สามารถใช้ได้ในขณะนี้หรือไม่? รายการพึ่งพาของฉัน: apply plugin: 'java' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management' repositories { mavenCentral() maven { url "https://repo.spring.io/snapshot" } maven { url "https://repo.spring.io/milestone" } } dependencies { compile 'org.springframework.boot:spring-boot-starter-data-jpa' runtime 'com.h2database:h2:1.4.194' } อัพเดท: ดูเหมือนว่าวิธีนี้จะถูกแทนที่ด้วย CrudRepository#findById

8
FetchMode ทำงานอย่างไรใน Spring Data JPA
ฉันมีความสัมพันธ์ระหว่างโมเดลอ็อบเจ็กต์สามตัวในโปรเจ็กต์ของฉัน (โมเดลและส่วนย่อยที่เก็บในตอนท้ายของโพสต์ เมื่อฉันเรียกPlaceRepository.findByIdมันจะทำให้เกิดการค้นหาสามรายการ: ("sql") SELECT * FROM place p where id = arg SELECT * FROM user u where u.id = place.user.id SELECT * FROM city c LEFT OUTER JOIN state s on c.woj_id = s.id where c.id = place.city.id นั่นเป็นพฤติกรรมที่ค่อนข้างผิดปกติ (สำหรับฉัน) เท่าที่ฉันสามารถบอกได้หลังจากอ่านเอกสาร Hibernate แล้วก็ควรใช้แบบสอบถาม JOIN เสมอ ไม่มีความแตกต่างในแบบสอบถามเมื่อFetchType.LAZYเปลี่ยนเป็น FetchType.EAGERในPlaceคลาส (แบบสอบถามที่มี …

4
JpaRepository ไม่รองรับการดำเนินการ DML [ลบคิวรี]
ฉันได้เขียนข้อความค้นหาเพื่อลบวัตถุบางอย่างในส่วนต่อประสานของฉันที่ขยายออกไปJPaRepositoryแต่เมื่อฉันดำเนินการค้นหามันมีข้อยกเว้น! ใครช่วยอธิบายให้ฉันฟังหน่อย คำถาม: public interface LimitRepository extends JpaRepository<CLimit, Long> { @Query("delete from CLimit l where l.trader.id =:#{#trader.id}") void deleteLimitsByTrader(@Param("trader") CTrader trader); } ฉันได้รับข้อผิดพลาดนี้โปรดอธิบายให้ฉันฟังได้ไหมและขอบคุณทุกคน :) ข้อยกเว้น: org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [delete from com.query.domain.CLimit l where l.trader.id =:__$synthetic$__1] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.errorIfDML(QueryTranslatorImpl.java:318) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:369) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:236) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1300) at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103) at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:573) …

5
Springfox swagger ไม่ทำงานใน spring boot 2.2.0
ฉันต้องการอัพเกรด spring boot v2.1.9 เป็น 2.2.0 แต่หลังจากการอัพเกรดฉันได้รับข้อยกเว้นบางอย่างซึ่งบอกว่าสปริงฟ็อกซ์กำลังใช้สปริง - ปลั๊กอิน - คอร์เวอร์ชันเก่ากว่า มีวิธีอื่นในการแก้ปัญหานี้หรือไม่หรือฉันต้องเลิกใช้ปลั๊กอิน springfox หรือไม่ *************************** APPLICATION FAILED TO START *************************** Description: An attempt was made to call a method that does not exist. The attempt was made from the following location: springfox.documentation.spring.web.plugins.DocumentationPluginsManager.createContextBuilder(DocumentationPluginsManager.java:152) The following method did not exist: org.springframework.plugin.core.PluginRegistry.getPluginFor(Ljava/lang/Object;Lorg/springframework/plugin/core/Plugin;)Lorg/springframework/plugin/core/Plugin; The …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.