Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

स्प्रिंग डेटा जेपीए - पैरामीटर के रूप में कॉलम का नाम और मान पास करें

sping data Specifications . आप वहां अपना समाधान ढूंढ सकते हैं!
दस्तावेज़ों को पढ़कर आप देख सकते हैं कि यदि Calendar क्या आपका डोमेन है (मैं अपने डोमेन के लिए एक अलग नाम खोजने की कोशिश करूंगा, एक कैलेंडर जावा एसई में पहले से ही क्लास), तो आप ऊपर की तरह कुछ इस्तेमाल कर सकते हैं,

@Repository
public interface CalendarRepository extends JpaRepository<Calendar, Integer>, JpaSpecificationExecutor<Calendar> {
}


public class CalendarSpecification implements Specification<Calendar> {

    private String randomColumnName; // A varchar column.
    private String valueToSearchFor;

    public CalendarSpecification(String randomColumnName, String valueToSearchFor) {
        this.randomColumnName = randomColumnName;
        this.valueToSearchFor = valueToSearchFor;
    }

    @Override
    public Predicate toPredicate(Root<Calendar> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
        return builder.and(builder.equal(root.<String>get(this.randomColumnName), this.valueToSearchFor));
    }
}


@Service
public class CalendarService {

    @Autowired
    private CalendarRepository calendarRepository;

    public List<Calendar> findCustom(String randomColumnName, String valueToSearchFor) {
        CalendarSpecification cs = new CalendarSpecification(randomColumnName, valueToSearchFor);
        return calendarRepository.find(cs);
        // Or using lambda expression - without the need of CalendarSpecification class.
//      return calendarRepository.find((Root<ProductCategory> root, CriteriaQuery<?> query, CriteriaBuilder builder) -> {
//          return builder.and(builder.equal(root.<String>get(randomColumnName), valueToSearchFor));
//      });
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. USER() और SYS_CONTEXT('USERENV', 'CURRENT_USER') में क्या अंतर है?

  2. php . का उपयोग करके oracle डेटाबेस में ansi विशेष वर्ण सहेजें

  3. ओरेकल तैयार बयान के साथ बैच निष्पादित करें

  4. Oracle संग्रहीत कार्यविधियाँ, SYS_REFCURSOR और NHibernate

  5. oracle डेटाबेस में लॉग इंसर्शन/अपडेट/डिलीटेशन