Hibernate不会删除我的行:
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){
支出:
uid: 123 and pid: 1
Hibernate: delete from votes where uid=? and pid=?
1
当我直接在SQL中尝试时,SQL语法有效。直接SQL语法:
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);
我想这很容易,因为到目前为止,对于我来说一切都还不错。我没有错误或其他任何事情,只是没有发生删除。
任何帮助表示赞赏。
您需要开始并提交事务。
Transaction transaction = session.beginTransaction();
try {
// your code
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());
// your code end
transaction.commit();
} catch (Throwable t) {
transaction.rollback();
throw t;
}
还可能需要关闭会话,然后更改才能在数据库中可见。
问题内容: 我有一个包含很多条目的数据库表,当我为空时,我想删除所有条目。 我可以使用和吗? 这是我要使用的代码。但是,它可能会显示一些错误: 问题答案: 您不需要此语句。
问题内容: 有什么方法可以使用Logstash和csv文件从ElasticSearch删除文档?我阅读了Logstash文档,却一无所获,并尝试了一些配置,但是使用操作“删除”却没有任何反应 有人尝试过吗?我应该在配置的输入和过滤器部分添加一些特殊的东西吗?我使用文件插件作为输入,使用csv插件作为过滤器。 问题答案: 绝对可以按照您的建议去做,但是如果您使用的是Logstash 1.5,则需要使
SQLAlchemy 1.4 / 2.0 Tutorial 此页是 SQLAlchemy 1.4/2.0教程 。 上一次: 使用核心或ORM选择行 |下一步: |next| 使用核心更新和删除行 到目前为止,我们已经讨论过 Insert ,这样我们就可以将一些数据放入我们的数据库中,然后花费大量时间在 Select 其处理用于从数据库检索数据的广泛的使用模式。在本节中,我们将介绍 Update 和
我有一个spring 4应用程序,我试图删除一个实体的实例,从我的数据库。我有以下实体: 我定义了一个JPararePository接口: 我有一个与内存数据库(H2)一起工作的单元测试设置,我正在用两个令牌预先填充数据库: 第一个断言通过,第二个失败。我尝试了另一个测试,它更改了令牌值并将其保存到数据库中,它确实起作用了,所以我不确定为什么delete不起作用。它也不抛出任何异常,只是不将其持久
问题内容: 我想根据引用了第一个表的另一个表上存在的数据从表中删除,但是,当我将其作为SELECT语句运行时,我具有可以正常工作并显示要删除的值的代码,但是当我将其更改为删除它给了我错误,我不明白为什么它们在那里。 错误: 我正在使用postgres 问题答案: 从我看到的地方,您实际上不需要联接即可执行此操作… 它将删除leadcustomer中customerID为:1)与8不同的所有记录2)
我正在使用gradle构建一个Spring Boot应用程序,我希望从war中删除文件,因为该文件将从外部加载(它运行在tomcat容器中,而不是嵌入式的)。 我查看了StackOverflow和Gradle文档,试图找出该做什么,但我不知道该绑定到哪个阶段,以及在创建war之前还是之后排除该文件。处理文件似乎也有多种方法。 我相信Maven使用作为等价物。