关于hibernate只能查询不能增加修改删除数据的问题

spring事务配置如下

     <!-- 配置SessionFactory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.connection.autocommit">true</prop>
            </props>
        </property>
        <property name="annotatedClasses">
            <list>
                <value>com.sunsharing.model.User</value>
            </list>
        </property>
    </bean>
    <!-- 自动扫描配置 -->
    <context:annotation-config />
    <context:component-scan base-package="com.sunsharing.dao"/>
    <!-- 支持  @Transactional 标记 -->
    <tx:annotation-driven transaction-manager="transactionManager"/>
    <!-- 定义事务管理器 -->
    <bean id="transactionManager"
          class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

dao类如下

   @Resource(name="sessionFactory")
    private void setSessionFacoty(SessionFactory sessionFacoty){
        super.setSessionFactory(sessionFacoty);
    }
        public void addUser(User user) {
        getHibernateTemplate().getSessionFactory().getCurrentSession().setFlushMode(FlushMode.AUTO);
        this.getHibernateTemplate().save(user);
    }

2个回答

不是很明白,表达清楚点

qq_32042227
-翼Y- 对数据做操作时候,方法执行了但是数据没有改变,就是他的事务没有提交
2 年多之前 回复

对数据做操作时候,方法执行了但是数据没有改变,就是他的事务没有提交

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
hibernate不能删除和修改数据但是能查询,和新增询数据
不能删除和修改数据;但是能查,和新增询数据。删除和修改数据也不报错。这是最郁闷的,也不知道错在哪儿。我是用的hibernate实体注解来做的。
hibernate 修改主表,不想删除附表数据
t_role(主表),t_module_access(附表)一对多的关系 现在只想修改t_role表数据,可是hibernate会自动删除t_module_access的数据, Hibernate: update T_ROLE set ROLE_NAME=?, ORDER_NUM=?, MEMO=?, CREATE_DATE=?, FLAG=? where SN=? Hibernate: delete from T_MODULE_ACCESS where ROLE_SN=? Hibernate: delete from T_GROUP_ROLE where ROLE_SN=? [code="java"] <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> <class name="com.yunwang.entity.TRole" table="T_ROLE" > <id name="sn" type="java.lang.Long"> <column name="SN" precision="12" scale="0" /> <generator class="sequence" > <param name="sequence">seq_T_ROLE</param> </generator> </id> <property name="roleName" type="java.lang.String"> <column name="ROLE_NAME" length="40" not-null="true" /> </property> <property name="orderNum" type="java.lang.Long"> <column name="ORDER_NUM" precision="12" scale="0" not-null="true" /> </property> <property name="memo" type="java.lang.String"> <column name="MEMO" length="2000" /> </property> <property name="createDate" type="java.lang.String"> <column name="CREATE_DATE" length="20" not-null="true" /> </property> <property name="flag" type="java.lang.String"> <column name="FLAG" length="2" not-null="true" /> </property> <set name="TModules" table="T_MODULE_ACCESS" > <key> <column name="ROLE_SN" precision="12" scale="0" not-null="true" /> </key> <many-to-many entity-name="com.yunwang.entity.TModule" order-by="order_num"> <column name="MODULE_SN" precision="12" scale="0" not-null="true" /> </many-to-many> </set> <set name="TGroups" table="T_GROUP_ROLE" > <key> <column name="ROLE_SN" precision="12" scale="0" /> </key> <many-to-many entity-name="com.yunwang.entity.TGroup"> <column name="GROUP_SN" precision="12" scale="0" /> </many-to-many> </set> <set name="TActionAccesses" inverse="true"> <key> <column name="ROLE_SN" precision="12" scale="0" not-null="true" /> </key> <one-to-many class="com.yunwang.entity.TActionAccess" /> </set> </class> </hibernate-mapping> [/code] 不想要他执行下面的删除语句
SSH,mysql数据库,只能读不能写
对数据库的内容进行操作,只能读取数据,不能写入不能修改,不能删除,但是Hibernate操作后打印是已经实现的,而且hibernate的SQL语句也出来了,但数据库就是岿然不动。。。。。据说是Spring事务配置问题,但是我我不是很会。。。哪位大神能给我说说
Hibernate软删除
问题描述: 先说数据库设计吧,系统中所有的实体表全部都有Status这个属性,Status这个属性的作用是来控制该记录是否已被删除(删除一个实体对象,只是将Status设置成false)。 由于使用了Hibernate,并且通过在Hibernate配置,一个实体类可以load起关联的其他实体。那么,正常情况下并不会有问题,但是当该实体对象持有的其他实体对象被删除了,那么逻辑上,该对象是不应该持有被删除后的对象,但由于,系统只是update了Status属性,而且关联关系仍然存在,并且这些关联关系是通过Hibernate来管理,无法通过(或者说我不想绕过)Hibernate进行删除。 例如,User类有Set<Role>属性,Hibernate在加载User对象的时候,也会将Set<Role>也加载好,而他们之间的关联关系是通过Hibernate来控制的。假设,用户test有三个角色:sales,finacer跟master。而master后来被删除了,也就是Status属性被设置成了false。但是,User与Role之间的关系,并没有因为master被删除了而消失,于是系统加载test对象的时候,仍然将master对象加载到内存中,这样明显是违背了逻辑,请问这种情况,如何通过Hibernate来解决。 User类: [code="java"] public class User extends BaseModel { /** * */ private static final long serialVersionUID = 613756860331359836L; private Integer userId; private String username; private String password; private Set<Role> roleSet; /** default constructor */ User() { } } [/code] Role类: [code="java"]public class Role extends BaseModel { /** * */ private static final long serialVersionUID = 2041913483578524972L; private Integer roleId; private String roleName; private String roleAlias; /** default constructor */ Role() { } }[/code] Mapping文件: User.hbm.xml [code="xml"] <hibernate-mapping default-access="field"> <class name="User" table="T_User"> <id name="userId" column="UserId" type="integer"> <generator class="native" /> </id> <property name="username" column="Username" type="string" length="50" not-null="true" update="false" /> <property name="password" column="Password" type="string" length="50" not-null="true" /> <!-- 用户持有的角色 --> <set name="roleSet" table="T_User_Role_Link" cascade="all" lazy="false"> <key column="UserId" /> <many-to-many column="RoleId" class="Role" outer-join="auto" /> </set> <!-- 创建人 --> <many-to-one name="creator" class="User" column="Creator" cascade="all" update="false" /> <!-- 创建时间 --> <property name="createTime" column="CreateTime" type="timestamp" update="false" /> <!-- 修改人 --> <many-to-one name="modifier" class="User" column="Modifier" cascade="all" /> <!-- 修改时间 --> <property name="modifyTime" column="ModifyTime" type="timestamp" /> <!-- 数据状态 --> <property name="status" column="Status" type="enums.type.StatusType" /> </class> </hibernate-mapping> [/code] Role.hbm.xml [code="xml"] <hibernate-mapping default-access="field"> <class name="Role" table="T_Role"> <cache usage="read-write" /> <id name="roleId" column="RoleId" type="integer"> <generator class="native" /> </id> <property name="roleName" column="RoleName" type="string" length="50" /> <property name="roleAlias" column="RoleAlias" type="string" length="50" /> <!-- 创建人 --> <many-to-one name="creator" class="User" column="Creator" cascade="all" update="false" /> <!-- 创建时间 --> <property name="createTime" column="CreateTime" type="timestamp" update="false" /> <!-- 修改人 --> <many-to-one name="modifier" class="User" column="Modifier" cascade="all" /> <!-- 修改时间 --> <property name="modifyTime" column="ModifyTime" type="timestamp" /> <!-- 数据状态 --> <property name="status" column="Status" type="enums.type.StatusType" /> </class> </hibernate-mapping>[/code] [b]问题补充:[/b] To cwx714, 可能你还是没有理解我的意思。我这样的配置,是全部交给Hibernate来做。也就是说,Hibernate返回的是一个完整的对象,而不是先返回一个单表的User对象,然后再根据与User关联的表中的值去找相应的其他实体的对象。即,从DAO取出来的User对象就已经包含了Set<Role>中所有的值。 [b]问题补充:[/b] 我希望是通过Hibernate来配置,而不是硬编码一堆的where语句。否则,这个根本就不是问题。 [b]问题补充:[/b] 而且,我对Role表是有进行缓存的,如果没有办法剔除那些Status=false的值,那么Hibernate还是要缓存所有的记录,这样,如果数据量少的话是没有问题,但是当数据量达到一定程度时,问题就大了。 [b]问题补充:[/b] To:phenom, 呵呵,我对hibernate实在不熟。但是在我的代码中,Role是没有Set<User>属性的,即,User跟Role是一对多的关系,但是,没有办法从Role获取到所有拥有该角色的User。也就是说,控制方在User这边。 按照你说的,那么,我如果要删除Role对象,我是不是要先查找所有拥有该角色的User,然后遍历列表,删除?
关于Hibernate,sping,ajax问题
编写程序实现以下功能:TestDB数据库中Test表的记录增加、删除、修改、条件查询。 要求:1、使用hibernata进行数据库的O/R MAPPING操作 2、使用SPING进行业务反转控制 3、使用DWR进行前台基于AJAX的列表查询结果显示 4、数据库连接地址:127.0.0.1,用户名root,密码为空
Hibernate一对多一次提交如何处理?
最近使用Hibernate做一个POC项目,其中关于一对多新增、修改功能时碰到了一些疑惑。因为以前没怎么用过Hibernate,所以请大家帮忙看看: 1、一对多修改时,一次提交上来的子表集合的处理。我看了很多Hibernate的介绍,提到的都是一对多级联更新、级联删除等,但是在实际应用中,一个可能的情况是:在一次一对多的修改中,即有对子表的新增、又有对子表的修改和删除这三个操作。举个简单的例子:一个客户Customer有多个的关联地址Address。那么在修改客户信息的页面中,存在着一个所有关联地址的列表,在该列表中可以新增一个地址,也可以修改某个地址,又或者是删除某个地址。当整个修改工作结束后,才会点击提交。这时后台的代码接收到的Customer对象中的地址就包括了新增和修改的记录,同时没有被删除的记录。 对于这种情况,Hibernate能够处理吗?或者说这已经不是Hibernate要解决的问题,应该由应用自己处理不同的情况?我用过merge和saveOrUpdate都不行。 2、第二个问题与Hibernate没有关系,但也是在一对多关系中比较常见的一个问题:一对多在新增时,采用分次提交的方式,即主表和子表的每条记录都是各自提交的方式。现在有个需求是子表的列表需要在主表的新增页面中出现,即当新增主表时,新增页面中有个空的子表的列表,在子表列表中可以新增、修改、删除。这时候就存在着一个问题:主表还没有新增,那么子表新增时就会存在着外键约束的问题。以前我们采取的方式是在进入新增页面时先有个简单的向导页面,产生一条主表的记录,其中大部分字段的值为null,但是这种方式要求主表的绝大部分字段必须为可空的才行。不知道大家有没有什么其它的处理方式? [b]问题补充:[/b] 关于第一个问题,我们以前的做法是:如果只是两层关联关系,那么通常是先将子表的所有数据全部删除,然后再插入从页面提交的列表记录,而不需要区分新增不是修改。而如果层次超过两层,则只能采取遍历的方式,即先查询出子表的所有关联的记录,然后判断是否在页面提交的列表中,如果没有则删除,除此之外就是区分页面提交的列表记录中哪些是新增、哪些是修改的。 现在有了Hibernate之后,我就想是不是可以直接merge主表对象就能达到这种目的,或者是先查询出主表对象,然后采用Customer.getAddresses().clear()将所有子表删除,然后再merge主表。但是好像都不行,所以就不知道在Hibernate所推荐的开发方式中,如何处理好上面那两种情况?
Hibernate 级联刷新、删除问题
Hibernate 版本hibernate-core-4.0.0.Final <br /> <br />Users和Orders两个实体 <br /> <br />一个Users对应多个Orders&nbsp; 一对多 <br />多个Orders对应一个Users&nbsp; 多对一 <br /> <br /> <br />在Users实体中配置以下 <br /><pre name="code" class="java">@OneToMany(mappedBy="users",cascade={CascadeType.ALL}) private List&lt;Orders&gt; orders; public List&lt;Orders&gt; getOrders() { return orders; } public void setOrders(List&lt;Orders&gt; orders) { this.orders = orders; }</pre> <br /> <br />级联删除的时除 <br /><pre name="code" class="java">Users u = (Users)session.get(Users.class, 52); List&lt;Orders&gt; l = u.getOrders(); Orders o = null; for(Iterator&lt;Orders&gt; it = l.iterator();it.hasNext();) { o = it.next(); if(o.getOrderId()==57) { //需要先从List中删除,再从session中删除 it.remove(); session.delete(o); } }</pre> <br />为什么从list集合中删除,还需要再手动从session中删除,CascadeType已设置为ALL了啊 <br /> <br />级联刷新 <br /><pre name="code" class="java">//测试refresh,user中的list Session s1 = HibernateUtils.getSession(); Users u = (Users)s1.get(Users.class, 52); List list = u.getOrders(); //断点执行到此处,我修改数据库中Orders中的name值为100后refresh s1.refresh(u); List list2 = u.getOrders(); //断点执行到此处,查看list2集合Orders的name值为旧值1,并不是数据库中最新的100 s1.close();</pre> <br />为什么此处的级联刷新对list不起作用,只对Users非关系映射的属性起作用CascadeType已设置为ALL了啊 <br /> <br />
Hibernate @OneToOne 级联删除 删除不掉
用户实体类: ``` @Entity @Table(name = "T_USER") public class User { ...... @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "user_info_id", unique = true) private UserInfo userInfo; ...... } ``` 用户基本信息实体类 ``` @Entity @Table(name = "T_USER_INFO") public class UserInfo { ...... @OneToOne(mappedBy = "userInfo", orphanRemoval = true) private User user; ...... } ``` 用QueryDSL删除: ``` new JPADeleteClause(entityManager,entityPath).where(((SimpleExpression<ID>) idPath).in(ids)).execute() ``` User实体类中还有一个多对多级联的角色列表,在删除User记录的时候,后台会自动发条SQL去删除UserRole关联表中的数据。但是,在删除User数据时,后台却不发删除UserInfo记录的SQL。 PS:明明设置了CascadeType.ALL,级联删除虽然不发SQL不好使,但是可以级联增加和修改。 希望哪位大神加以指点,先谢谢了!
请问怎么使用myeclipse中hibernate?
我照着MyEclipse Hibernate 快速入门 中文版把hibernate配置好了,生成了一些文件如图。请问高手怎么用这些文件啊,比如说怎么查询数据,修改删除数据?谢谢!!!!
用springmvc整合hibernate结果删除和修改数据都无法进行,配置如下
web.xml ![图片说明](https://img-ask.csdn.net/upload/201708/14/1502675720_488939.png) dao层 ![图片说明](https://img-ask.csdn.net/upload/201708/14/1502675750_74579.png)
如何修改级联出来的数据
在Hibernate中,通过一方对多关系,级联出多方的集合。现在要对集合中的对象做修改,添加,修改。 修改,添加对象到集合中,保存一方可以完成!要删除集合中的一条数据,如何通过保存一方,实现删除操作? 一方的配置如下: <set name="children" inverse="true" cascade="all" lazy="false" fetch="select"> <key> <column name="tocid" length="36" /> </key> <one-to-many class="child" /> </set> [b]问题补充:[/b] hibernate参考手册: 如果没有父对象,子对象就不应该存在,如果将子对象从collection中移除,实际上我们是想删除它。要实现这种要求,就必须使用cascade="all-delete-orphan"。 是否在父方设置cascade="all-delete-orphan"。,就能实现对子对象的增加、修改、删除呢?
hibernate异常update: 0 actual row count: 0 expected: 1
今天在使用hibernate update的时候,抛了这样的一个异常。 org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1 ... 对hibernate底层还不甚熟悉,不知道怎样解决,以及它发生的原因是什么?是否是hibernate真的当发现被update的po没有做任何修改时,就会抛出这个? 下面是具体的代码: Product product = (Product)service().getById(Product.class, Long.valueOf(id)); copy(product,form); //将form中数据拷贝到product product.setId(Long.valueOf(id)); service().update(product); -- 期待各位的回答! --- google里面的说明是, You tried to delete an object that was allready deleted from the database. 会出现这个。 当我这里已经前后的逻辑都没有删除的操作。 [b]问题补充:[/b] 你不能这么修改主键吧 --- 这个id的值是一样的。也会有影响么?会影响hibernate对象的状态?
Ehcache中的分布式缓存对二级缓存有效,对查询缓存无效吗?
请教:系统有前台,后台,现在我在两台机子上分别部署了前后台,ehcache的分布式缓存也配置了。现在对于二级缓存,我在后台更新数据后,前台能够改变。但对于查询缓存,后台更新数据后,前台没有反应,这样就不能保证数据的一致性了。我想问:ehcache的分布式缓存对查询缓存有效吗? 在后台用hibernate进行save,update,delete操作时,前台能通过分布式缓存知道并更新查询缓存吗? [b]问题补充:[/b] 在同一系统中,当用Hibernate的方式修改表数据(save,update,delete等等),这时EhCache会自动把缓存中关于此表的所有缓存全部删除掉(这样能达到同步)。但对于两个以上系统部署在不同机子上,并在他们之间配置了ehcache的分布式缓存,当A系统修改表数据(save,update,delete)后,b系统会更新查询缓存吗? 答:好像是不能的,即ehcache的分布式缓存对查询缓存无效。(我在项目中配置了Ehcache的分布式缓存,二级缓存可以生效,但查询缓存不能更新。是不是一个系统中的Hibernate不能够识别其他系统中hibernate是否进行了save,update,delete操作?而Ehcache也没对此进行整合,望知道的大牛给说一下。)
hibernate表记录更新引发连接表数据被删问题
<p>我的项目中有两个表document、level,它们之间通过连接表实现关联,映射文件如下:</p> <p>表document</p> <pre name="code" class="xml">&lt;hibernate-mapping&gt; &lt;class name="com.unionmon.knowledge.model.KleDocument" table="KLE_DOCUMENT" schema="UFLOW"&gt; &lt;id name="kleDocumentId" type="java.lang.Long"&gt; &lt;column name="KLE_DOCUMENT_ID" precision="22" scale="0" /&gt; &lt;generator class="native" /&gt; &lt;/id&gt; &lt;join table="KLE_DOC_SECRET_UNION" optional="true"&gt; &lt;key column="KLE_DOCUMENT_ID" unique="true"/&gt; &lt;many-to-one name="secretLev" column="KLE_SECRET_LEVEL_ID" not-null="true"/&gt; &lt;/join&gt; &lt;/class&gt; &lt;/hibernate-mapping&gt;</pre> <p> 表level:</p> <pre name="code" class="xml">&lt;hibernate-mapping&gt; &lt;class name="com.unionmon.knowledge.model.KleSecretLevel" table="KLE_SECRET_LEVEL" schema="UFLOW"&gt; &lt;id name="kleSecretLevelId" type="java.lang.Long"&gt; &lt;column name="KLE_SECRET_LEVEL_ID" precision="22" scale="0" /&gt; &lt;generator class="native"&gt;&lt;/generator&gt; &lt;/id&gt; &lt;set name="kleDocs" table="KLE_DOC_SECRET_UNION"&gt; &lt;key column="KLE_SECRET_LEVEL_ID"/&gt; &lt;many-to-many column="KLE_DOCUMENT_ID" class="com.unionmon.knowledge.model.KleDocument"/&gt; &lt;/set&gt; &lt;/class&gt; &lt;/hibernate-mapping&gt;</pre> <p> 表document和level的连接表</p> <pre name="code" class="xml">&lt;hibernate-mapping package="com.unionmon.knowledge.model"&gt; &lt;class name="KleDocSecretUnion" table="KLE_DOC_SECRET_UNION" schema="UFLOW"&gt; &lt;many-to-one name="kleSecretLevel" class="KleSecretLevel" fetch="select"&gt; &lt;column name="KLE_SECRET_LEVEL_ID" precision="22" scale="0" /&gt; &lt;/many-to-one&gt; &lt;many-to-one name="kleDocument" class="KleDocument" fetch="select"&gt; &lt;column name="KLE_DOCUMENT_ID" precision="22" scale="0" /&gt; &lt;/many-to-one&gt; &lt;/class&gt; &lt;/hibernate-mapping&gt;</pre> <p> 问题出现在当我更新level表中的某条记录时(比如该记录编号为level_id),发现hibernate有一条语句删除了连接表中所有KLE_SECRET_LEVEL_ID字段值为level_id的记录,我的service层代码如下:</p> <pre name="code" class="java"> public String editLevel(KleSecretLevel new_level, long id,long doc_id){ new_level.setKleDocumentId(doc_id); new_level.setKleSecretLevelId(id); this.secretDao.save(new_level); return "{success: true, msg: '修改成功 '}"; }</pre> <p> </p> <p> dao层代码如下:</p> <pre name="code" class="java">public T save(T object) { return (T) super.getHibernateTemplate().merge(object); }</pre> <p> </p> <p>我查阅了hibernate的官方文档和对此错误进行了Google,实在找不到程序不妥的地方,烦请各位解下小弟疑惑。</p>
SSH组合开发中,Hibernate中,主表与从表数据更新
在Hibernate中,我需要更新一条主表的数据,但同时更新多条从表的数据!我最初的构思是,用主表PO类中的Set从表集合,与从jsp中获取的更新从表数据相对比,相同的删除,不相同的添加,同时,把Set集合中的数据相同的留下,不相同的删除。 这是代码: /* * 先查询一条商品属性表的信息 * 将Vo转换为Po * 根据vo类中的ProductCategoryid字段查询需要查询一个商品类型表(CyProductCategory)PO对象 */ //查询一条商品属性表的信息 CyAttribute attribute = attributeDao.findByIdCyAttribute(att); //修改商品属性值表的数据时,先将数组与CyAttribute中的 Set cyAttributeValues 值对比 Iterator<CyAttributeValue> it = attribute.getCyAttributeValues().iterator(); //双层循环判断数组与Set cyAttributeValues 集合中的值,相等的值赋值为空 for(int i = 0; i < att.getAttVals().length; i++){ System.out.println("------------------>>>" + att.getAttVals()[i]); while(it.hasNext()){ CyAttributeValue attval = it.next(); System.out.println("--------------->>>" + attval.getAttributeValue()); if(att.getAttVals()[i].trim().equals(attval.getAttributeValue())){ att.getAttVals()[i] = null; System.out.println("---------------->>>att.getAttVals()[" + i + "]" + att.getAttVals()[i]); it.remove(); break; } System.out.println("---------------->>while"); } System.out.println("----------------------->>>for"); } //将Set cyAttributeValues 集合中的值与数组中的值不相等的全部删除 while(it.hasNext()){ CyAttributeValue attval = it.next(); if(null != attval && null != attval.getAttributeValue() && !"".equals(attval.getAttributeValue())){ attributeValueDao.delByIdCyAttributeValue(attval); } } //判断商品属性值表的数据与数组中的值不匹配时,增加不匹配数据 for(int i = 0; i < att.getAttVals().length; i++){ if(null != att.getAttVals()[i] && !"".equals(att.getAttVals()[i])){ attributeValueDao.saveCyAttributeValue( new CyAttributeValue(attribute, att.getAttVals()[i])); } } //将VO类中的数据添加到PO类中 attribute.setModifydate(StringTimestamp.stringToTimestamp()); attribute.setName(att.getName()); attribute.setCyProductCategory(categoryDao.findByIdCyProductCategory( new CyProductCategoryVo(att.getProductCategory().getId()))); attribute.setOrders(att.getOrders()); //修改 attributeDao.updateCyAttribute(attribute);
hibernate配置了自动提交事物无效
hibernate中配置文件设置了自动提交事物,无效,为什么?另外,增删改本来应该都提交事物才可以操作成功的,为什么我的现在是修改和删除要提交事物,但是添加数据居然可以不用开启事物(没有设置自动提交事物)?
慕课网案例 新手Hibernate配置问题,单表操作
搞了两天了,一直卡在这。百度了好多也没找到解决方案,希望大家帮我看看。 **编程环境** * Eclipse Neon.3 Release (4.6.3) * hibernate(5.3.0) * JDBC8.0.11 * MySQL5.6 **报错信息** ``` Apr 23, 2018 5:06:42 PM org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core {5.3.0.CR1} Apr 23, 2018 5:06:42 PM org.hibernate.cfg.Environment <clinit> INFO: HHH000206: hibernate.properties not found Apr 23, 2018 5:06:42 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit> INFO: HCANN000001: Hibernate Commons Annotations {5.0.2.Final} Apr 23, 2018 5:06:42 PM org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntity WARN: HHH90000012: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/hibernate-mapping. Use namespace http://www.hibernate.org/dtd/hibernate-mapping instead. Support for obsolete DTD/XSD namespaces may be removed at any time. Apr 23, 2018 5:06:43 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!) Apr 23, 2018 5:06:43 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001005: using driver [com.mysql.cj.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/hibernate?serverTimezone=UTC] Apr 23, 2018 5:06:43 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001001: Connection properties: {user=root, password=****} Apr 23, 2018 5:06:43 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001003: Autocommit mode: false Apr 23, 2018 5:06:43 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init> INFO: HHH000115: Hibernate connection pool size: 20 (min=1) Apr 23, 2018 5:06:43 PM org.hibernate.dialect.Dialect <init> INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5Dialect Apr 23, 2018 5:06:44 PM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@24be2d9c] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode. ``` **项目结构** ![图片说明](https://img-ask.csdn.net/upload/201804/23/1524474801_956742.png) **项目内容** hibernate.cfg.xml ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 1.设置四本一言 --> <!-- 驱动,连接URL,用户名,密码,方言 --> <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate?serverTimezone=UTC</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123456</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> <property name="current_session_context_class">thread</property> <!-- 2.全局配置信息 --> <!--是否显示SQL语句 --> <property name="show_sql">true</property> <!--是否格式化SQL语句 --> <property name="format_sql">true</property> <!--执行DDL的类别: create:每次都删除新建 update:存在就修改,不存在就新建 --> <property name="hbm2ddl.auto">update</property> <!--3.加载配置文件 --> <!--基于xml映射文件: 映射文件加载。路径 --> <mapping resource="Student.hbm.xml"/> <!-- <mapping class="Students"/> --> </session-factory> </hibernate-configuration> ``` Student.java ``` import java.util.Date; public class Student { private int sId; private String sName; private String gender; private Date birthday; private String address; public Student() { } public Student(int sId, String sName, String gender, Date birthday, String address) { this.sId = sId; this.sName = sName; this.gender = gender; this.birthday = birthday; this.address = address; } @Override public String toString() { return "Student [sId=" + sId + ", sName=" + sName + ", gender=" + gender + ", birthday=" + birthday + ", address=" + address + "]"; } public int getsId() { return sId; } public void setsId(int sId) { this.sId = sId; } public String getsName() { return sName; } public void setsName(String sName) { this.sName = sName; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } } ``` Student.test.java ``` import java.util.Date; import org.hibernate.*; import org.hibernate.cfg.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class StudentTest { private SessionFactory sessionFactory; private Session session; private Transaction transaction; @Before public void Init() { // 1.加载配置文件 Configuration configuration = new Configuration().configure(); // 2.创建Session工厂 SessionFactory factory = configuration.buildSessionFactory(); // 3.创建Session对象 Session session = factory.openSession(); // 4.开启事务 transaction = session.beginTransaction(); } @Test public void testSaveStudents() { //生成对象 Student student=new Student(1,"张三丰","男",new Date(),"武当山"); //保存对象进数据库 session.save(student); } @After public void destory() { //提交事务 transaction.commit(); //关闭session会话 session.close(); //关闭sessionFactory会话工厂 sessionFactory.close(); } } ``` Student.hbm.xml ``` <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated Apr 21, 2018 5:32:53 PM by Hibernate Tools 3.5.0.Final --> <hibernate-mapping> <class name="Student" table="STUDENT"> <id name="sId" type="int" access="field"> <column name="SID" /> <generator class="assigned" /> </id> <property name="sName" type="java.lang.String" access="field"> <column name="SNAME" /> </property> <property name="gender" type="java.lang.String"> <column name="GENDER" /> </property> <property name="birthday" type="java.util.Date"> <column name="BIRTHDAY" /> </property> <property name="address" type="java.lang.String"> <column name="ADDRESS" /> </property> </class> </hibernate-mapping> ``` Navicat中显示,仅生成了表。 ![图片说明](https://img-ask.csdn.net/upload/201804/23/1524475414_34908.png)
hibernate 配置文件报错
![图片说明](https://img-ask.csdn.net/upload/201701/03/1483440537_361655.png) 之前是create没问题,换成update就报错,但还是能执行。不过第二天数据库就报10061错误,不清楚问题到底出在哪里。下面是我的全部代码。 配置文件: <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="connection.username">root</property> <property name="connection.url">jdbc:mysql://localhost:5656/mysql</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.password">123456</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">update</property> <mapping resource="Students.hbm.xml"/> </session-factory> </hibernate-configuration> 测试文件: import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.Date; public class Studentstest { private SessionFactory sessionFactory; private Session session; private Transaction transaction; @Before public void init() { //创建配置对象 Configuration config = new Configuration().configure(); //创建服务注册对象 // ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build(); //创建会话工厂对象 ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build(); sessionFactory = config.buildSessionFactory(serviceRegistry); //会话对象 session = sessionFactory.openSession(); //开启事务 transaction = session.beginTransaction(); } @After public void destory() { transaction.commit(); //提交事务 session.close(); //关闭会话 sessionFactory.close(); //关闭会话工厂 } @Test public void testSaveStudents() {//增加 //生成学生对象 Students s = new Students(); s.setSname("POLY Ma"); s.setBirthday(new Date()); s.setAddress("Hong Kong"); s.setGender("M"); session.save(s); //保存对象进入数据库 } @Test public void search(){//查找 Students s=session.get(Students.class,1);//1 is primary key System.out.print(s); } @Test public void update(){//修改 Students s=session.get(Students.class,2);//look on s.setAddress("Hang Zhou"); session.update(s); } @Test public void delete(){//删除 Students s=session.get(Students.class,1); session.delete(s); } } 映射文件: <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="Students" table="students"> <id name="sid" type="int"> <column name="sid"/> <generator class="native"/> </id> <property name="sname" type="java.lang.String"> <column name="sname"/> </property> <property name="gender" type="java.lang.String"> <column name="gender"/> </property> <property name="birthday" type="date"> <column name="birthday"/> </property> <property name="address" type="java.lang.String"> <column name="address"/> </property> </class> </hibernate-mapping> 主体: import java.util.Date; /** * Created by tcxd on 2016/12/28. */ public class Students { private int sid; //学号 private String sname; //姓名 private String gender; //性别 private Date birthday; //出生日期 private String address; //地址 public Students() { } public Students(int sid, String sname, String gender, Date birthday, String address) { this.sid = sid; this.sname = sname; this.gender = gender; this.birthday = birthday; this.address = address; } public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public void setAddress(String address) { this.address = address; } public String getAddress() { return address; } @Override public String toString() { return "Students{" + "sid=" + sid + ", sname='" + sname + '\'' + ", gender='" + gender + '\'' + ", birthday=" + birthday + ", address=" + address + '}'; } }
hibernate sql语句参数为null时,如何处理
使用hibernate时出现了点问题,现请教各位。 目的: 删除满足条件的数据。 出现问题: 参数为null时,程序出现异常。 问题描述: 之前代码如下: [code="java"] sql="delete table where pId=? and sId=?"; query.setParameter(0, pId); query.setParameter(1, sId); [/code] 现在遇到一个问题,就是如果参数传一个null的时候,hibernate不会将sql转换成is null,程序将会出现错误,所以修改成如下: [code="java"] //两个参数均不是主键 public void deleteTable(Long sId, Long pId) { String sql = "delete table where 1=1"; if (null == pId) { sql = sql + " and pIdis null"; } else { sql = sql + " and pId=?"; } if (null == sId) { sql = sql + " and sIdis null"; } else { sql = sql + " and sId=?"; } Query query = getSession().createQuery(sql); //这样判断简直让人崩溃,有啥好的处理方式? if (null != pId && null == sId) { query.setParameter(0, pId); } if (null != pId && null != sId) { query.setParameter(0, pId).setParameter(1, pId); } if (null == pId && null != sId) { query.setParameter(0, pId); } query.executeUpdate(); } [/code] 这样是可以实现业务逻辑的,但是显然程序很笨重,不知到hibernate本身有没有灵活、优雅的方式解决这个问题?
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载 点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
JDK12 Collectors.teeing 你真的需要了解一下
前言 在 Java 12 里面有个非常好用但在官方 JEP 没有公布的功能,因为它只是 Collector 中的一个小改动,它的作用是 merge 两个 collector 的结果,这句话显得很抽象,老规矩,我们先来看个图(这真是一个不和谐的图????): 管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将 downstream1 和 downstre...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
【图解经典算法题】如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
作者 | Google团队 译者 | 凯隐 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) 本文中,Google 团队提出了一种文本语音合成(text to speech)神经系统,能通过少量样本学习到多个不同说话者(speaker)的语音特征,并合成他们的讲话音频。此外,对于训练时网络没有接触过的说话者,也能在不重新训练的情况下,仅通过未知...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
【管理系统课程设计】美少女手把手教你后台管理
【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。 试想,若没有烟草销售系统,本人家人想要购买烟草,还要独自前往药...
4G EPS 第四代移动通信系统
目录 文章目录目录4G 与 LTE/EPCLTE/EPC 的架构E-UTRANE-UTRAN 协议栈eNodeBEPCMMES-GWP-GWHSSLTE/EPC 协议栈概览 4G 与 LTE/EPC 4G,即第四代移动通信系统,提供了 3G 不能满足的无线网络宽带化,主要提供数据(上网)业务。而 LTE(Long Term Evolution,长期演进技术)是电信领域用于手机及数据终端的高速无线通...
相关热词 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片 c# 图片颜色调整 最快 c#多张图片上传 c#密封类与密封方法
立即提问