हाइबरनेट मेरी पंक्ति को हटा नहीं करता है:हाइबरनेट HQL साथ हटा सकते हैं और
public boolean deleteVote(Login user, int pid){
Session session = getSession();
try{
String hql = "delete from Vote where uid= :uid AND pid= :pid";
Query query = session.createQuery(hql);
System.out.println(user.getUid() + " and pid: " + pid);
query.setString("uid", user.getUid());
query.setInteger("pid", pid);
System.out.println(query.executeUpdate());
}catch(Exception e){
Outprint:
uid: 123 and pid: 1
Hibernate: delete from votes where uid=? and pid=?
1
एसक्यूएल सिंटेक्स जब मैं एसक्यूएल में सीधे कोशिश कर रहा हूँ काम कर रहा है। प्रत्यक्ष एसक्यूएल सिंटेक्स:
delete from votes where uid= '123' AND pid= 1
मैपिंग:
<class name="package.model.Vote" table="votes">
<id name="vid" column="vid" >
<generator class="increment"/>
</id>
<property name="pid" column="pid" />
<property name="uid" column="uid" />
<property name="tid" column="tid" />
<property name="votes" column="votes" />
</class>
तालिका:
CREATE TABLE IF NOT EXISTS `votes` (
`vid` int(11) NOT NULL
`pid` int(11) NOT NULL,
`uid` varchar(20) NOT NULL,
`tid` int(11) NOT NULL,
`votes` int(11) NOT NULL DEFAULT '1',
PRIMARY KEY (`vid`),
KEY `pcid` (`pid`,`uid`),
KEY `uid` (`uid`),
KEY `tid` (`tid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
ALTER TABLE `votes`
ADD CONSTRAINT `votes_ibfk_3` FOREIGN KEY (`pid`) REFERENCES `poll` (`pid`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `votes_ibfk_4` FOREIGN KEY (`uid`) REFERENCES `user` (`uid`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `votes_ibfk_5` FOREIGN KEY (`tid`) REFERENCES `teams` (`tid`) ON DELETE CASCADE ON UPDATE CASCADE;
INSERT INTO `votes` (`vid`, `pid`, `uid`, `tid`, `votes`) VALUES
(20, 1, '123', 1, 1);
मुझे लगता है कि यह कुछ बहुत आसान है क्योंकि सब कुछ अब तक मेरे लिए ठीक लग रहा है है। मुझे कोई त्रुटि या कुछ और नहीं मिला, बस कोई हटाना नहीं हो रहा है।
किसी भी मदद की सराहना की जाती है।
आप कैसे जानते हैं कि यह हटाया नहीं गया है? क्या आपने डेटाबेस में चेक किया था या आपने एप्लिकेशन में एक और सवाल किया था? – fiso
डेटाबेस में सीधे जांच की गई – user1671980
क्या आपके लिए सम्मिलित कार्य करता है? क्या आपके पास लेनदेन कहीं भी कॉन्फ़िगर किया गया है? –