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

Spring Data เป็นโครงการโอเพ่นซอร์สแบบร่มซึ่งมีโครงการย่อยมากมายที่เฉพาะเจาะจงสำหรับฐานข้อมูลที่กำหนด โครงการนี้ได้รับการพัฒนาโดยการทำงานร่วมกันกับ บริษัท และชุมชนหลายแห่งที่อยู่เบื้องหลังเทคโนโลยีที่น่าตื่นเต้นเหล่านี้

1
ที่เก็บข้อมูล Spring ถูกนำไปใช้จริงอย่างไร?
ฉันทำงานกับที่เก็บ Spring Data JPA ในโครงการของฉันมาระยะหนึ่งแล้วและฉันรู้ประเด็นด้านล่าง: ในอินเทอร์เฟซที่เก็บเราสามารถเพิ่มเมธอดเช่นfindByCustomerNameAndPhone()(สมมติว่าcustomerNameและphoneเป็นฟิลด์ในอ็อบเจ็กต์โดเมน) จากนั้น Spring จัดเตรียมการนำไปใช้โดยการนำเมธอดอินเทอร์เฟซที่เก็บข้อมูลข้างต้นไปใช้ที่รันไทม์ (ระหว่างการรันแอปพลิเคชัน) ฉันสนใจว่ารหัสนี้ถูกเข้ารหัสอย่างไรและฉันได้ดูซอร์สโค้ดและ API ของ Spring JPA แล้ว แต่ฉันไม่พบคำตอบสำหรับคำถามด้านล่าง: คลาสการใช้งานที่เก็บถูกสร้างขึ้นที่รันไทม์ & วิธีการที่ถูกนำไปใช้และฉีดอย่างไร? Spring Data JPA ใช้ CGlib หรือไลบรารีการจัดการ bytecode เพื่อใช้วิธีการและฉีดแบบไดนามิกหรือไม่ คุณช่วยกรุณาตอบคำถามข้างต้นและให้เอกสารที่รองรับได้หรือไม่?

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

5
Spring DAO เทียบกับ Spring ORM และ Spring JDBC
ฉันกำลังใช้เทคโนโลยีการเข้าถึงข้อมูลที่ Spring รองรับและฉันสังเกตว่ามันกล่าวถึงตัวเลือกมากมายและฉันไม่แน่ใจเกี่ยวกับความแตกต่างระหว่างพวกเขา: Spring-DAO ( http://docs.spring.io/spring/docs/2.0.8/reference/dao.html ) Spring-ORM ( http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/orm.html ) Spring-JDBC ( http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html ) ตามที่ฉันเข้าใจ Spring JDBC มีเทมเพลตสำหรับการลดรหัสสำเร็จรูปสำหรับการเข้าถึงฐานข้อมูลด้วยวิธีการเดิม ๆ - คุณเขียนแบบสอบถาม SQL ของคุณเอง Spring-ORM มีเทมเพลตที่เรียบง่ายสำหรับการเข้าถึงฐานข้อมูลผ่านเทคโนโลยี ORM เช่น Hibernate, My (i) Batis เป็นต้น Spring-DAO ตามเว็บไซต์ของ Spring: การสนับสนุน Data Access Object (DAO) ใน Spring มีวัตถุประสงค์เพื่อให้ง่ายต่อการทำงานกับเทคโนโลยีการเข้าถึงข้อมูลเช่น JDBC, Hibernate หรือ JDO ในลักษณะที่สอดคล้องกัน ฉันค่อนข้างชัดเจนเกี่ยวกับ …

3
MongoTemplate ของ Spring Data กับ MongoRepository ต่างกันอย่างไร
ฉันจำเป็นต้องเขียนแอปพลิเคชันที่ฉันสามารถทำแบบสอบถามที่ซับซ้อนโดยใช้ข้อมูลสปริงและ mongodb ฉันเริ่มต้นโดยใช้ MongoRepository แต่ต้องดิ้นรนกับการสืบค้นที่ซับซ้อนเพื่อค้นหาตัวอย่างหรือเพื่อทำความเข้าใจไวยากรณ์อย่างแท้จริง ฉันกำลังพูดถึงคำถามเช่นนี้: @Repository public interface UserRepositoryInterface extends MongoRepository<User, String> { List<User> findByEmailOrLastName(String email, String lastName); } หรือการใช้แบบสอบถามที่ใช้ JSON ซึ่งฉันลองโดยการลองผิดลองถูกเพราะฉันไม่เข้าใจไวยากรณ์ที่ถูกต้อง แม้หลังจากอ่านเอกสาร mongodb แล้ว (ตัวอย่างที่ใช้งานไม่ได้เนื่องจากไวยากรณ์ไม่ถูกต้อง) @Repository public interface UserRepositoryInterface extends MongoRepository<User, String> { @Query("'$or':[{'firstName':{'$regex':?0,'$options':'i'}},{'lastName':{'$regex':?0,'$options':'i'}}]") List<User> findByEmailOrFirstnameOrLastnameLike(String searchText); } หลังจากอ่านเอกสารทั้งหมดแล้วดูเหมือนว่าmongoTemplateจะดีกว่าMongoRepositoryมาก ฉันอ้างถึงเอกสารดังต่อไปนี้: http://static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/ ช่วยบอกหน่อยได้ไหมว่าอะไรใช้สะดวกและทรงพลังกว่ากัน mongoTemplateหรือMongoRepository? ทั้งคู่เป็นผู้ใหญ่เหมือนกันหรือคนใดคนหนึ่งขาดคุณสมบัติมากกว่ากัน?

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

6
Spring Boot และวิธีกำหนดค่ารายละเอียดการเชื่อมต่อกับ MongoDB?
เป็นมือใหม่สำหรับ Spring Boot ฉันสงสัยว่าจะกำหนดค่ารายละเอียดการเชื่อมต่อสำหรับ MongoDB ได้อย่างไร ฉันได้ลองใช้ตัวอย่างปกติแล้ว แต่ไม่มีรายละเอียดการเชื่อมต่อเลย ฉันต้องการระบุฐานข้อมูลที่จะใช้และ url / port ของโฮสต์ที่รัน MongoDB คำแนะนำหรือคำแนะนำใด ๆ ?

6
Spring Data JPA แมปผลลัพธ์เคียวรีเนทีฟกับ Non-Entity POJO
ฉันมีวิธีการจัดเก็บ Spring Data พร้อมด้วยแบบสอบถามเนทีฟ @Query(value = "SELECT g.*, gm.* FROM group g LEFT JOIN group_members gm ON g.group_id = gm.group_id and gm.user_id = :userId WHERE g.group_id = :groupId", nativeQuery = true) GroupDetails getGroupDetails(@Param("userId") Integer userId, @Param("groupId") Integer groupId); และผมอยากจะ map ผลให้ไม่ Entity GroupDetailsPOJO เป็นไปได้หรือไม่และหากเป็นเช่นนั้นโปรดยกตัวอย่างได้ไหม

4
เมื่อใดควรใช้ @RestController vs @RepositoryRestResource
ฉันได้รับการดูตัวอย่างต่างๆของวิธีการใช้ฤดูใบไม้ผลิที่มีส่วนที่เหลือ เป้าหมายสุดท้ายของเราคือการHATEOAS/HALตั้งค่าSpring ฉันได้เห็นสองวิธีที่แตกต่างกันในการเรนเดอร์RESTภายในSpring ผ่าน@RestControllerภายในคอนโทรลเลอร์ ผ่าน@RepositoryRestResourceภายใน Repository สิ่งที่ฉันกำลังดิ้นรนเพื่อค้นหาคือทำไมคุณถึงใช้อีกอันหนึ่ง เมื่อพยายามที่จะใช้HALสิ่งที่ดีที่สุด? แบ็กเอนด์ฐานข้อมูลของเราคือNeo4j
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.