saveOrUpdate为什么不能智能处理???

问题描述

首先,数据库表是空的,在程序里调用saveOrUpdate方法,产生的sql语句却是 update user set user_name=?, real_name=?, password=?, sex=?, birthday=?, email=?, address=?, telephone=?, qq=?, authority=?, remarks=? where user_id=?这样当然会出错,明明数据库根本没有数据,为什么执行的是修改表结构CREATE TABLE USER( user_id INT PRIMARY KEY NOT NULL,//不是自增 user_name VARCHAR(30), real_name VARCHAR(20), PASSWORD VARCHAR(20), sex VARCHAR(3), birthday VARCHAR(30), email VARCHAR(40), address VARCHAR(50), telephone VARCHAR(20), qq VARCHAR(15), authority VARCHAR(50), remarks VARCHAR(50)配置入下xx.hbm.xml<hibernate-mapping> <class name="com.flex.model.User" table="user" > <id name="userId" type="java.lang.Integer"> <column name="user_id" /> <generator class="native"></generator> </id> <property name="userName" type="java.lang.String"> <column name="user_name" length="30" /> </property> <property name="realName" type="java.lang.String"> <column name="real_name" length="20" /> </property> <property name="password" type="java.lang.String"> <column name="password" length="20" /> </property> <property name="sex" type="java.lang.String"> <column name="sex" length="3" /> </property> <property name="birthday" type="java.lang.String"> <column name="birthday" length="30" /> </property> <property name="email" type="java.lang.String"> <column name="email" length="40" /> </property> <property name="address" type="java.lang.String"> <column name="address" length="50" /> </property> <property name="telephone" type="java.lang.String"> <column name="telephone" length="20" /> </property> <property name="qq" type="java.lang.String"> <column name="qq" length="15" /> </property> <property name="authority" type="java.lang.String"> <column name="authority" length="50" /> </property> <property name="remarks" type="java.lang.String"> <column name="remarks" length="50" /> </property> </class></hibernate-mapping>================================================调用方法源码 hibernate本身的org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdateAllpublic void saveOrUpdateAll(final Collection entities) throws DataAccessException {executeWithNativeSession(new HibernateCallback<Object>() {public Object doInHibernate(Session session) throws HibernateException {checkWriteOperationAllowed(session);for (Object entity : entities) {session.saveOrUpdate(entity);}return null;}});================================================错误日志22 11:31:28,668 [http-8080-2] ERROR org.hibernate.event.def.AbstractFlushingEventListener- Could not synchronize database state with sessionorg.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:92)at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:78)at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:57)at org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java:33)at org.hibernate.persister.entity.BasicEntityPersister.update(BasicEntityPersister.java:1982)at org.hibernate.persister.entity.BasicEntityPersister.updateOrInsert(BasicEntityPersister.java:1909)at org.hibernate.persister.entity.BasicEntityPersister.update(BasicEntityPersister.java:2149)at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:75)at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:239)at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:223)at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:137)at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:274)at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:730)at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:394)at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdateAll(HibernateTemplate.java:707)at com.flex.dao.impl.UserDAO.saveOrUpdateAll(UserDAO.java:68)at com.flex.service.impl.IUserServiceImpl.saveOrUpdateAll(IUserServiceImpl.java:25)at com.flex.web.UserAction.saveAll(UserAction.java:32)at com.flex.web.UserAction.getAllUser(UserAction.java:23)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:418)at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1400)at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:1005)at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103)at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:166)at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:353)at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)上面日志执行了user.setUserId(id),,数据库不是自增在创建User这个对象时 不执行user.setUserId(id);这时生成的sql是插入语句,但是会出现如下错误因为userid不能为空,数据库又不是自增的原因2011-11-22 11:49:04,052 [http-8080-3] DEBUG org.hibernate.util.JDBCExceptionReporter- could not insert: [com.flex.model.User] [insert into user (user_name, real_name, password, sex, birthday, email, address, telephone, qq, authority, remarks) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]java.sql.SQLException: Field 'user_id' doesn't have a default valueat com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:1759)at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:2178)at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:34)at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:239)at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:240)at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:160)at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:95)at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:184)at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:173)at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:96)at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:69)at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:468) 问题补充:首先,数据库表是空的,在程序里调用saveOrUpdate方法,产生的sql语句却是 update user set user_name=?, real_name=?, password=?, sex=?, birthday=?, email=?, address=?, telephone=?, qq=?, authority=?, remarks=? where user_id=?这样当然会出错,明明数据库根本没有数据,为什么执行的是修改表结构CREATE TABLE USER( user_id INT PRIMARY KEY NOT NULL,//不是自增 user_name VARCHAR(30), real_name VARCHAR(20), PASSWORD VARCHAR(20), sex VARCHAR(3), birthday VARCHAR(30), email VARCHAR(40), address VARCHAR(50), telephone VARCHAR(20), qq VARCHAR(15), authority VARCHAR(50), remarks VARCHAR(50)配置入下xx.hbm.xml<hibernate-mapping> <class name="com.flex.model.User" table="user" > <id name="userId" type="java.lang.Integer"> <column name="user_id" /> <generator class="native"></generator> </id> <property name="userName" type="java.lang.String"> <column name="user_name" length="30" /> </property> <property name="realName" type="java.lang.String"> <column name="real_name" length="20" /> </property> <property name="password" type="java.lang.String"> <column name="password" length="20" /> </property> <property name="sex" type="java.lang.String"> <column name="sex" length="3" /> </property> <property name="birthday" type="java.lang.String"> <column name="birthday" length="30" /> </property> <property name="email" type="java.lang.String"> <column name="email" length="40" /> </property> <property name="address" type="java.lang.String"> <column name="address" length="50" /> </property> <property name="telephone" type="java.lang.String"> <column name="telephone" length="20" /> </property> <property name="qq" type="java.lang.String"> <column name="qq" length="15" /> </property> <property name="authority" type="java.lang.String"> <column name="authority" length="50" /> </property> <property name="remarks" type="java.lang.String"> <column name="remarks" length="50" /> </property> </class></hibernate-mapping>================================================调用方法源码 hibernate本身的org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdateAllpublic void saveOrUpdateAll(final Collection entities) throws DataAccessException {executeWithNativeSession(new HibernateCallback<Object>() {public Object doInHibernate(Session session) throws HibernateException {checkWriteOperationAllowed(session);for (Object entity : entities) {session.saveOrUpdate(entity);}return null;}});================================================错误日志22 11:31:28,668 [http-8080-2] ERROR org.hibernate.event.def.AbstractFlushingEventListener- Could not synchronize database state with sessionorg.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:92)at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:78)at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:57)at org.hibernate.jdbc.BatchingBatcher.addToBatch(BatchingBatcher.java:33)at org.hibernate.persister.entity.BasicEntityPersister.update(BasicEntityPersister.java:1982)at org.hibernate.persister.entity.BasicEntityPersister.updateOrInsert(BasicEntityPersister.java:1909)at org.hibernate.persister.entity.BasicEntityPersister.update(BasicEntityPersister.java:2149)at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:75)at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:239)at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:223)at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:137)at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:274)at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:730)at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:394)at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdateAll(HibernateTemplate.java:707)at com.flex.dao.impl.UserDAO.saveOrUpdateAll(UserDAO.java:68)at com.flex.service.impl.IUserServiceImpl.saveOrUpdateAll(IUserServiceImpl.java:25)at com.flex.web.UserAction.saveAll(UserAction.java:32)at com.flex.web.UserAction.getAllUser(UserAction.java:23)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:418)at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1400)at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:1005)at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103)at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:166)at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:353)at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)上面日志执行了user.setUserId(id),,数据库不是自增在创建User这个对象时 不执行user.setUserId(id);这时生成的sql是插入语句,但是会出现如下错误因为userid不能为空,数据库又不是自增的原因2011-11-22 11:49:04,052 [http-8080-3] DEBUG org.hibernate.util.JDBCExceptionReporter- could not insert: [com.flex.model.User] [insert into user (user_name, real_name, password, sex, birthday, email, address, telephone, qq, authority, remarks) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]java.sql.SQLException: Field 'user_id' doesn't have a default valueat com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:1759)at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:2178)at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:34)at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:239)at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:240)at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:160)at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:95)at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:184)at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:173)at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:96)at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:69)at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:468)

解决方案

不好意思,刚只看你的配置文件,没看你数据库设计你数据库设计时,字段:user_id 不是自增的,对吧,也就是说主键是程序负责产生对吧?那么分两种情况:①、如果是你自己写程序产生主键user_id,那么你应该将配置文件中的主键生产策略改为:assigned(表示是用户自定义id),而不是你定义的native(表示由底层数据库自己产生),所以你应该将主键的配置改为:<id name="userId" type="java.lang.Integer"> <column name="user_id" /> <generator class="assigned"></generator> </id> ②、如果默认采用hibernate自动生产主键user_id,那么你应该选择一种Hibernate主键生成策略,如果uuid.hex(按照实际情况,可能用其他,你可网上查下,有好几个)然后配置如下:<id name="userId" type="java.lang.Integer"> <column name="user_id" /> <generator class="uuid.hex"></generator> </id>
解决方案二:
将你的User对象的user_id设置为null,应该就可以了!
解决方案三:
你设置的持久化类的id生成器为native,则默认 unsaved-value属性值为null,即对象user_id字段必须为null,hibernate才会看是否数据库中有对应记录,也就是判断是否是脱管管对象,如不存在相应记录,即瞬时对象,hibernate才执行保存,想让session.saveOrUpdate()执行save操作,必须将PO(你将要保存的对象)的id设为空。

时间: 2024-10-26 02:37:03

saveOrUpdate为什么不能智能处理???的相关文章

2345智能浏览器在线视频观影简明教程

由于网络的普及和网速的提升,现在的人们选择观赏影片的方式也发生了变化,以前习惯将影片下载下来观看,现在则更多地是选择直接在线观看,而浏览器也成了最重要的工具.用浏览器欣赏在线视频,2345智能浏览器无疑是个非常好的选择. 打开2345智能浏览器,我们最好将2345设为默认的主页,这样我们就能在打开浏览器的第一时间获取最热门的网址导航,不用再去记忆网址,而我们想要的影视大全也赫然就在最显眼的位置. 2345影视大全 点击浏览器右上角的"工具"选择"主页设置",然后将2

IE8地址栏让网址输入更智能

  地址栏给大家的印象只是一个填写网址的输入框而已,就算是IE8浏览器应该也没有什么特别的,但是新版的IE8中的地址栏可是今时不同往日了.当我们在IE8地址栏中输入内容后,智能地址栏会对历史记录.收藏夹.RSS源和我们输入的内容进行匹配,并对URL字符串(以及网页的标题)的所有部分进行搜索以进行搜索建议,通过这些使得网站导航变得更加简单.我们还可以删除不需要的网址,比如以前输错的地址.既然我们说地址栏智能,下面我们就来看看IE8地址栏到底是如何智能的. 大家对浏览器的"地址栏"肯定再熟

智能交通之路-查阅Web站点,移动应用,开放数据和APIs获得公共交通相关信息

简介:由于像 Google Map 和能够许多能够提供大城市公共交通数据的 Web 站点的存在,搭乘公交车 上下班 -- 或者来往于机场.商场或者球场公园 -- 变得比以往更加容易.Scott Davis 介绍了如何 利用那些可以帮助公共交通变得更加智能的技术来指导您如何去您想去的地方. 公共交通减少了交通拥挤和由此产生的污染.同时还降低了用户的压力水平和需要支付的费用.现在 许多 Web 站点和移动应用程序帮助全球各个城市的乘客,购物者和游客成为合乎道德的利己者,帮助他 们利用交通选项.本文将

数据智能助力智慧航空:阿里云双十一特别访谈

双11第一波,红包领不停,点击看详情:https://promotion.aliyun.com/ntms/act/pre20171111.html 在阿里云双十一特别栏目"数据智能助力智慧航空"中,厦门航空的CIO王洪建王总:同济大学管理科学与工程系教授.博士生导师梁哲老师:阿里云航空大脑的高级专家惊弓老师三位重量级嘉宾做客直播间,与主持人小小一同就智能航空的核心内涵,技术难点,相关经验等进行了深入浅出的探讨,并对智能航空的美好蓝图做了分析和展望.以下内容根据访谈视频整理而成.   初

智能家庭本周锋闻:小米智能家居露真容

  传闻已久的小米智能家居终于露出真容,宅客君再次探营亲身体验,很有些触动要跟大家分享.另外,本周宅客君开始关注到了家庭安防领域,安防设备一直以来都是面向商用市场或者高端别墅,作为智能家居的一部分,高大上的安防设备如何飞入寻常百姓家?且看本周锋闻: 一. 小米智能家居进展如何?来一探究竟 小米智能家居以路由器为控制中心,以此为平台把可联网的智能设备协调起来,实现统一管理.用手机app控制智能单品最没劲了,小米路由器可以开启智能场景联动模式,让相关的智能设备之间互相通信,减少人为操作.除了这些固定

CCAI2017|智能金融论坛:听大佬们讲人工智能在金融领域的那些事儿

CSDN现场消息,22日下午的"智能金融论坛"圆桌会议精彩纷呈.此次会议由蚂蚁金服人工智能部技术总监李小龙主持,上海交通大学计算机系教授邓小铁.香港智能金融科技有限公司(FDT-AI)联合创始人兼CEO柳崎峰.乔治亚理工学院金融学教授Alton M. Costley主席Sudheer Chava.普林斯顿大学运筹与金融工程系助理教授王梦迪.香港中文大学计算机系副教授张胜誉等专家参与讨论. 此次圆桌会议分为两个环节,首先是主持人和嘉宾的问答环节,然后是观众自由问答环节. 主持人李小龙表示

蚂蚁金服人工智能部技术总监李小龙:智能金融实践

在本次大会上,蚂蚁金服人工智能部技术总监李小龙作为 CCAI 2017 智能金融论坛主席为参会者带来了<蚂蚁金服智能金融实践>的分享. 以下内容根据李小龙本次主题演讲整理,略有删减: 今天早上我们的副总裁.首席数据科学家漆远博士给大家讲了很多金融智能创新的例子,我主要是从<蚂蚁金服智能金融实践>这方面给大家作阐述. 首先,我们认为金融服务是AI创新的最好场景之一,主要是三个理由: 第一,场景非常丰富,打开支付宝我们知道这不仅是一个支付工具,可以把AI应用到理财.投资.贷款.征信等业

CCAI 2017 | 香港智能金融联合创始人兼CEO柳崎峰:金融机构的市场机遇与实践

香港智能金融科技有限公司(FDT-AI)联合创始人兼CEO柳崎峰 在大会的智能金融论坛上,香港智能金融科技有限公司(FDT-AI)联合创始人兼CEO柳崎峰发表了题为<金融机构的市场机遇与实践>的演讲. 从移动时代步入智能时代,柳崎峰认为存在三个重要转型: 券商转型,从移动券商到智能券商,用户从手机上便捷的投资交易,到享受更多智能个性化的服务: 监管转型,从弱监管到严格监管再到智能监管,同样需要非常强个性化的技术方案: 银行转型,对私业务,从人性化到个性化,对公业务,从集中化到普惠化. 实践方面

CCAI 2017 日本理化学研究所先进智能研究中心主任杉山将:弱监督机器学习的研究进展

在本次大会上,日本人工智能和机器学习领域新一代的代表性人物--日本理化学研究所先进智能研究中心主任Masashi Sugiyama(中文名:杉山将)为参会者带来了<弱监督机器学习的研究进展>的演讲.杉山将在机器学习领域发表过很多重要的理论,是这个领域最知名的学者之一,出版了机器学习相关书籍<图说机器学习>(中文版). 以下内容根据杉山将本次主题演讲整理,略有删减: 大家早上好,我叫杉山将,非常高兴能够参加今天的大会,也很高兴和这么多中国的研究人员见面,我也特别喜欢杭州的文化和当地的