67,513
社区成员
发帖
与我相关
我的任务
分享
// Property accessors
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "identity")
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
@OneToMany(mappedBy="user",fetch=FetchType.EAGER)
public Set<UserPermission> getUserPermissions() {
return userPermissions;
}
public void setUserPermissions(Set<UserPermission> userPermissions) {
this.userPermissions = userPermissions;
}
@OneToMany(mappedBy="user",fetch=FetchType.EAGER)
public Set<UserRole> getUserRoles() {
return this.userRoles;
}
public void setUserRoles(Set<UserRole> userRoles) {
this.userRoles = userRoles;
}
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>flushMode</param-name>
<param-value>AUTO</param-value>
</init-param>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/j_acegi_security_check</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!--applicationContext的配置-->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean id="baseTransaction" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager" ref="transactionManager"/>
<property name="proxyTargetClass" value="true"/>
<property name="transactionAttributes">
<props>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
public void save(Object o) {
System.out.println("xiaoxiao");
User user=(User) getHibernateTemplate().get(User.class, 55);
user.setName("xiaoxiao");
getHibernateTemplate().save(user);
System.out.println("------" + ((User)o).getId() + ((User)o).getPassword() +((User)o).getUsername());
getHibernateTemplate().save(o);
}
xiaoxiao
Hibernate: select user0_.id as id7_4_, ..... from auth_user user0_ left outer join auth_userpermission userpermis1_ on user0_.id=userpermis1_.userid left outer join auth_permission permission2_ on userpermis1_.permissionid=permission2_.id left outer join auth_userrole userroles3_ on user0_.id=userroles3_.user_id left outer join auth_role role4_ on userroles3_.role_id=role4_.id where user0_.id=?
------63sds大时代
Hibernate: insert into auth_user (descn, name, password, status, username) values (?, ?, ?, ?, ?)
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>flushMode</param-name>
<param-value>AUTO</param-value>
</init-param>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/j_acegi_security_check</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<init-param>
<param-name>flushMode</param-name>
<param-value>AUTO</param-value>
</init-param>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1186)
org.springframework.orm.hibernate3.HibernateTemplate$14.doInHibernate(HibernateTemplate.java:718)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:716)
org.springframework.orm.hibernate3.HibernateTemplate.update(HibernateTemplate.java:712)
com.xiao.zblogsystem.security.action.UserAction.modify(UserAction.java:54)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
.....
如下异常
System.out.println("xiaoxiao22merger");
System.out.println(getHibernateTemplate().getFlushMode());
User user=(User) getHibernateTemplate().get(User.class, 55);
user.setName("xiaoxiao");
getHibernateTemplate().merge(user);
System.out.println(((User)o).getId() + ((User)o).getPassword() +((User)o).getUsername());
getHibernateTemplate().save(o);
xiaoxiao22merger
1
Hibernate: select user0_.id as id7_4_, user0_.descn as descn7_4_, user0_.name as name7_4_, user0_.password as password7_4_, user0_.status as status7_4_, user0_.username as username7_4_, userpermis1_.userid as userid6_, userpermis1_.id as id6_, userpermis1_.id as id8_0_, userpermis1_.permissionid as permissi2_8_0_, userpermis1_.userid as userid8_0_, permission2_.id as id2_1_, permission2_.descn as descn2_1_, permission2_.name as name2_1_, permission2_.operation as operation2_1_, permission2_.status as status2_1_, userroles3_.user_id as user3_7_, userroles3_.id as id7_, userroles3_.id as id9_2_, userroles3_.role_id as role2_9_2_, userroles3_.user_id as user3_9_2_, role4_.id as id5_3_, role4_.descn as descn5_3_, role4_.name as name5_3_ from auth_user user0_ left outer join auth_userpermission userpermis1_ on user0_.id=userpermis1_.userid left outer join auth_permission permission2_ on userpermis1_.permissionid=permission2_.id left outer join auth_userrole userroles3_ on user0_.id=userroles3_.user_id left outer join auth_role role4_ on userroles3_.role_id=role4_.id where user0_.id=?
71d 的
Hibernate: insert into auth_user (descn, name, password, status, username) values (?, ?, ?, ?, ?)