gpt4 book ai didi

java - Spring+Hibernate配置

转载 作者:行者123 更新时间:2023-12-01 14:37:36 25 4
gpt4 key购买 nike

我正在尝试集成 Spring 和 Hibernate,但是当我运行代码并提交我的 for 时,它会抛出此异常
org.springframework.dao.InvalidDataAccessResourceUsageException: could not insert: [com.xgrid.evaltask.Entities.User]; SQL [insert into User (UserName, passwd, ID) values (?, ?, ?)]; nested exception is org.hibernate.exception.SQLGrammarException: could not insert: [com.xgrid.evaltask.Entities.User]
我在谷歌上找到了原因,但卡住了
请指导我哪里错了
这是applicationcontext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

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


<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
p:url="jdbc:sqlserver://DBURL:1433;databaseName=Test_DB"
p:username="sampleUser"
p:password="@123456asdfgh" />


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


<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
p:dataSource-ref="dataSource"
p:packagesToScan="com.xgrid.evaltask"
/>

<context:annotation-config />

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"
p:sessionFactory-ref="sessionFactory" />

</beans>

这是 hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<!-- Enable this to see the SQL statements in the logs-->
<property name="show_sql">true</property>
<!-- This will drop our existing database and re-create a new one.
Existing data will be deleted! -->
<property name="hbm2ddl.auto">create</property>
</session-factory>
</hibernate-configuration>

这是我的 DAO 类

@Repository("authorizeDao")
public class AuthorizeDaoImpl implements AuthorizeDao {

@Autowired
HiberAdd hiberAdd;

@Override
public boolean doAuthorize(Authentication authentication) {
System.out.println("Name: " + authentication.getUserName());
System.out.println("PW: " + authentication.getPassWord());
User user = new User();
user.setId(1212);
user.setName(authentication.getUserName());
user.setPasswd(authentication.getPassWord());
hiberAdd.add(user);
return true;
}
}

这是我的 CRUD 类

`@Service("hiberAdd")
@Transactional
public class HiberAdd {

@Resource(name="sessionFactory")
private SessionFactory sessionFactory;
public void add(User user) {


// Retrieve session from Hibernate
Session session = sessionFactory.getCurrentSession();

// Save
session.save(user);
System.out.println("Saved ......................... ");
}
}`


这是我的实体类

`@Entity
@Table(name="User")
public class User implements Serializable{

@Id
@Column(name="ID")
private Integer id;

@Column(name="UserName")
private String name;

@Column(name="passwd")
private String passwd;
//getters setters

最佳答案

USERreserved keyword您的数据库。为您的表使用另一个名称。

关于java - Spring+Hibernate配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16333355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com