وابستگی ها ، کلاس های موجودیت و پیکربندی Jinq برای ایجاد نمایش داده های پایگاه داده در جاوا

عکس پروفایل Fedor Yaremenko Hacker Noon

@یاففدور یارمنکو

9+ سال توسعه دهنده جاوا

Jinq کتابخانه ای است که از جستجوی پایگاه داده در جاوا پشتیبانی می کند. این از LINQ .NET الهام گرفته شده است. یک توسعه دهنده می تواند از Java Stream API ، توابع استاندارد (به عنوان مثال) استفاده کند

String#contains

،

Math#abs

) ، و عملگرهای رابطه ای ، ریاضی و منطقی (به عنوان مثال == ،

List books = jinqDataProvider.streamAll(entityManager, Book.class)
	.where(book - book.getPages()  50 && book.isPublished()).toList();

در این مثال ،

Book

یک metamodel تولید شده نیست بلکه یک کلاس موجودی JPA است. به نظر سحرآمیز است. زیر کاپوت ، Jinq از سریال سازی لامبدا و آنالیز کد بایت استفاده می کند. بیایید با یک مثال Spring Boot به بررسی Jinq بپردازیم.

وابستگی ها

وابستگی های زیر را در پرونده build.gradle اضافه کنید:

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.jinq:jinq-jpa:1.8.32'

کلاسهای نهاد

مثال را با دو جدول در پایگاه داده در نظر بگیرید:

books

و

authors

. کلاسهای موجودیت را اضافه کنید:

@Entity(name = "books")
public class Book {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String title;

    private boolean published;

    private Integer pages;

    @ManyToOne
    @JoinColumn(name = "author_id")
    private Author author;

    // getters and setters
}
@Entity(name = "authors")
public...

سئو PBN | خبر های جدید سئو و هک و سرور