Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 获取错误“;将会话转换为FlushMode.COMMIT/AUTO或remove';只读';“交易定义中的标记”;_Spring_Hibernate_Spring Orm - Fatal编程技术网

Spring 获取错误“;将会话转换为FlushMode.COMMIT/AUTO或remove';只读';“交易定义中的标记”;

Spring 获取错误“;将会话转换为FlushMode.COMMIT/AUTO或remove';只读';“交易定义中的标记”;,spring,hibernate,spring-orm,Spring,Hibernate,Spring Orm,我得到了一个错误: 只读模式下不允许写操作(FlushMode.MANUAL):将会话转换为FlushMode.COMMIT/AUTO或从事务定义中删除“readOnly”标记 LoginController.java @Controller public class LoginController { @Autowired private RegisterDao dao; @RequestMapping(value = "registerpage", method = RequestM

我得到了一个错误:

只读模式下不允许写操作(FlushMode.MANUAL):将会话转换为FlushMode.COMMIT/AUTO或从事务定义中删除“readOnly”标记

LoginController.java

@Controller

public class LoginController {

@Autowired

private RegisterDao dao;

@RequestMapping(value = "registerpage", method = RequestMethod.GET)

public ModelAndView getRegisterPage() {

    System.out.println("control is in getRegister method");

    return new ModelAndView("register", "reg", new Register());
}


@RequestMapping(value = "registeruser", method = RequestMethod.POST)
public ModelAndView registerUser(HttpServletRequest request) {

    System.out.println("control is in registeruser method");

    Register register = new Register();

    register.setUname(request.getParameter("uname"));
    register.setPassword(request.getParameter("password"));
    register.setEmail(request.getParameter("email"));
    register.setDob(request.getParameter("dob"));
    register.setAge(request.getParameter("age"));
    register.setCountry(request.getParameter("country"));



    dao.addUser(register);

    return new ModelAndView("success");
}

@RequestMapping(value = "delete", method = RequestMethod.GET)
public ModelAndView delete() {

    return new ModelAndView("delete");
}

@RequestMapping(value = "deleteUser", method = RequestMethod.DELETE)

public void deleteUser(@RequestParam("uname") String uname, ModelMap map) {

    Register register = new Register();
    register.setUname(uname);
    dao.deleteUser(register);

}

@RequestMapping(value = "readUsers", method = RequestMethod.GET)

public List<Register> usersList(ModelMap map) {

    List<Register> register = dao.readUsers();

    map.addAttribute("Users", register);

    return register;
}
}
`package com.spring.dao;

import java.util.List;

import com.spring.model.Register;

public interface RegisterDao {
public void addUser(Register register);

public List<Register> readUsers();

public void deleteUser(Register register);

}
@控制器
公共类登录控制器{
@自动连线
私人注册道道;
@RequestMapping(value=“registerpage”,method=RequestMethod.GET)
公共模型和视图getRegisterPage(){
System.out.println(“控件位于getRegister方法中”);
返回新的ModelAndView(“register”、“reg”、newregister());
}
@RequestMapping(value=“registeruser”,method=RequestMethod.POST)
公共模型和视图注册器(HttpServletRequest){
System.out.println(“控件在registeruser方法中”);
寄存器=新寄存器();
register.setUname(request.getParameter(“uname”);
register.setPassword(request.getParameter(“密码”));
register.setEmail(request.getParameter(“email”);
register.setDob(request.getParameter(“dob”));
register.setAge(request.getParameter(“age”);
register.setCountry(request.getParameter(“country”);
addUser(register);
返回新的ModelAndView(“成功”);
}
@RequestMapping(value=“delete”,method=RequestMethod.GET)
公共模型和视图删除(){
返回新模型和视图(“删除”);
}
@RequestMapping(value=“deleteUser”,method=RequestMethod.DELETE)
public void deleteUser(@RequestParam(“uname”)字符串uname,ModelMap){
寄存器=新寄存器();
注册人:setUname(uname);
删除用户(注册);
}
@RequestMapping(value=“readUsers”,method=RequestMethod.GET)
公共列表用户列表(模型映射){
List register=dao.readUsers();
map.addAttribute(“用户”,寄存器);
报税登记册;
}
}
Register.java

@Controller

public class LoginController {

@Autowired

private RegisterDao dao;

@RequestMapping(value = "registerpage", method = RequestMethod.GET)

public ModelAndView getRegisterPage() {

    System.out.println("control is in getRegister method");

    return new ModelAndView("register", "reg", new Register());
}


@RequestMapping(value = "registeruser", method = RequestMethod.POST)
public ModelAndView registerUser(HttpServletRequest request) {

    System.out.println("control is in registeruser method");

    Register register = new Register();

    register.setUname(request.getParameter("uname"));
    register.setPassword(request.getParameter("password"));
    register.setEmail(request.getParameter("email"));
    register.setDob(request.getParameter("dob"));
    register.setAge(request.getParameter("age"));
    register.setCountry(request.getParameter("country"));



    dao.addUser(register);

    return new ModelAndView("success");
}

@RequestMapping(value = "delete", method = RequestMethod.GET)
public ModelAndView delete() {

    return new ModelAndView("delete");
}

@RequestMapping(value = "deleteUser", method = RequestMethod.DELETE)

public void deleteUser(@RequestParam("uname") String uname, ModelMap map) {

    Register register = new Register();
    register.setUname(uname);
    dao.deleteUser(register);

}

@RequestMapping(value = "readUsers", method = RequestMethod.GET)

public List<Register> usersList(ModelMap map) {

    List<Register> register = dao.readUsers();

    map.addAttribute("Users", register);

    return register;
}
}
`package com.spring.dao;

import java.util.List;

import com.spring.model.Register;

public interface RegisterDao {
public void addUser(Register register);

public List<Register> readUsers();

public void deleteUser(Register register);

}
`package com.spring.dao;
导入java.util.List;
导入com.spring.model.Register;
公共接口注册表道{
公共无效添加用户(注册);
公共列表readUsers();
公共用户(注册);
}
Spring-servlet.xml

<context:component-scan base-package="com.spring" />

<mvc:annotation-driven />

<tx:annotation-driven />

<tx:annotation-driven transaction-manager="transactionManager" />

<bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/" />
    <property name="suffix" value=".jsp" />
</bean>


<bean id="template" class="org.springframework.orm.hibernate5.HibernateTemplate">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

<bean class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"
    id="sessionFactory">
    <property name="dataSource" ref="dataSource"></property>
    <property name="annotatedClasses">
        <list>
            <value>com.spring.model.Register</value>
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
            <prop key="hibernate.show_sql">true</prop>

        </props>
    </property>
</bean>
<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
    <property name="username" value="scott" />
    <property name="password" value="tiger" />
</bean>

com.spring.model.Register
org.hibernate.dialen.oracle10galent
真的

@服务
公共类RegisterDaoImpl实现RegisterDao{
@自动连线
私有HibernateTemplate模板;
public void addUser(寄存器寄存器、HttpServletRequest请求、HttpServletResponse响应){
//TODO自动生成的方法存根
System.out.println(“控件位于daoimpl的adduser方法中”);
模板。保存或更新(注册);
}
公共列表readUsers(){
//TODO自动生成的方法存根
System.out.println(“控件位于daoimpl的readuser方法中”);
List=template.loadAll(Register.class);
退货清单;
}
公共无效删除用户(注册){
//TODO自动生成的方法存根
System.out.println(“控件位于daoimpl的deleteuser方法中”);
模板。删除(注册);
}
public void addUser(寄存器){
//TODO自动生成的方法存根
模板保存(注册);
}
}
pom.xml
http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<groupId>com.spring</groupId>
<artifactId>RegistrationWithSpringMvc</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>

<name>RegistrationWithSpringMvc</name>
<url>http://maven.apache.org</url>


<dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.3.2.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.3.2.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.hynnet/oracle-driver-ojdbc6 -->
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-orm -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>4.3.2.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.3.2.Final</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.2.4.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.0.Final</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
</dependency>

<dependency>
    <groupId>org.jboss.logging</groupId>
    <artifactId>jboss-logging</artifactId>
    <version>3.3.0.Final</version>
</dependency>

</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.0.2</version>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>
    </plugins>
</build>
com.spring
使用SpringMVC注册
战争
0.0.1-快照
使用SpringMVC注册
http://maven.apache.org
org.springframework
SpringWebMVC
4.3.2.1发布
org.springframework
弹簧网
4.3.2.1发布
com.oracle
ojdbc6
11.2.0
org.springframework
春季甲虫
4.3.2.1发布
org.hibernate
休眠实体管理器
4.3.2.最终版本
org.hibernate
休眠验证器
5.2.4.最终版本
org.hibernate
冬眠核心
5.2.0.1最终版本
javax.servlet
servlet api
2.5
假如
javax.servlet
jstl
1.2
org.slf4j
slf4j api
1.7.21
org.jboss.logging
jboss日志
3.3.0.1最终版本
org.apache.maven.plugins
maven编译器插件
2.0.2
1.5
1.5

完整错误详细信息HTTP状态500-请求处理失败;嵌套异常为org.springframework.dao.InvalidDataAccessApiUsageException:只读模式下不允许写操作(FlushMode.MANUAL):将会话转换为FlushMode.COMMIT/AUTO或从事务定义中删除“readOnly”标记。感谢你们接受我的问题,我使用annotation@Transactional(propagation=propagation.REQUIRED,readOnly=false)在我的dao类之上谢谢