के साथ @EmbeddedId का उपयोग करके मेरे पास @EmbeddedId
(Integer
और String
फ़ील्ड अलग वर्ग में फ़ील्ड के साथ सरल एंटीटीली क्लास है)। और मैं डेटाबेस (MySQL) तक पहुंचने के लिए स्प्रिंग डेटा (org.springframework.data.jpa.repository.JpaRepository
) का उपयोग करता हूं, सामान्य आईडी के साथ प्रश्न ठीक काम कर रहे हैं, वसंत द्वारा उत्पन्न दोनों और स्वयं द्वारा लिखे गए दोनों। EmbeddedId
के साथ मैंने सही क्वेरी बनाने का प्रबंधन नहीं किया था। मैं जो करना चाहता हूं वह सभी आईडी (एम्बेडेड आईडी के क्षेत्रों में से एक है जिसके लिए कुछ हालत होती है) यहां आपके पास कुछ कोड नमूने हैं, शायद किसी को यह पता चल जाएगा कि इसे कैसे हल किया जाए।
इकाई वर्ग:JpaRepository
@Entity
@Table(name="table_name")
public class EntityClass {
@EmbeddedId
private EmbeddedIdClass id;
private String someField;
//rest of implemetation
}
EmbeddedId वर्ग:
@Embeddable
public class EmbeddedIdClass implements Serializable {
public EmbeddedIdClass(Long id, String language) {
super();
this.id = id;
this.language = language;
}
public UserAdTextId() {}
@Column(name="ad_id", nullable=false)
private Integer id;
@Column(name="language_code", nullable=false)
private String language;
//rest of implemetation
}
और भंडार:
@Transactional(readOnly=true)
public interface MyRepository extends JpaRepository<EntityClass, EmbeddedIdClass> {
@Query("select distinct ad_id from EntityClass where userId = :userId and (/*here the conditions*/)")
public Page<Integer> findUserAdsWithSearchString(@Param("userId") Integer userId, @Param("searchString") String searchString, Pageable page);
//rest of implemetation
}
मैं किसी भी प्रलेखन कैसे समर्थन करने के लिए तरीकों बनाने के लिए नहीं मिला @EmbeddedId, मैं कई अलग-अलग विधि नामों की कोशिश कर रहा था, लेकिन मुझे हमेशा विधि पार्सर से अपवाद मिलते हैं ..
यह सही है, मुझे फील्ड नामों का उपयोग करना होगा और उन्हें ब्राउज़ करना होगा, हालांकि मुझे आउटपुट एसक्यूएल को सेल्ट गिनती के साथ मिलती है (विशिष्ट ...) से गणना कहाँ है ?? रिटर्न प्रकार पृष्ठ है या सूची (मैं दोनों की कोशिश कर रहा था ... –
Mat
उत्तर ठीक है, एक और समस्या मेरे पास एक पेजेबल थी ... ऐसा लगता है कि अलग-अलग या समूह के साथ प्रश्न पृष्ठ को संभाल नहीं सकते ... दयालुता :( – Mat